<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>.
我正在努力实现这样的目标...
time thread |-**CUSTOMLOGLEVEL** xyz.class - Message.
为什么?我想通过定义loglevel或其他一些指示符来轻松地过滤消息。
例如:搜索日志级别为“CustomLogLevel”的日志。是否有任何方法可以给出自定义日志级别或任何其他指示符,表明这是自定义生成的日志,而不是某个框架生成的日志。
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="com.logging.CustomLayout">
<param name="argument1" value="1" />
<param name="argument2" value="2" />
</layout>
</encoder>
</appender>
但我不确定如何在外部输入这些参数。
如果我不清楚,请告诉我。
SLF4J/logback用一个叫做标记的特性解决了“我想做一些比日志级别更复杂的事情”的问题。
例如,将某些日志标记为“有趣”:
Marker interesting = MarkerFactory.getMarker("INTERESTING");
Logger logger = LoggerFactory.getLogger(getClass());
…
logger.info(interesting, "Something happened: {}", value)
在PatternLayout中,可以使用%marker
记录与日志条目关联的标记。(请参阅文档中的%marker。)
有没有办法为不同的日志级别打印不同的布局?例如: 记录器。警告(“消息”);打印如下内容:2016-06-20 13:34:41245 INFO(main:)Message and for logger。信息(“消息2”);仅打印:消息2 有可能做到吗?定义一个布局以警告其他布局以获取信息 log4j.properties
我正在使用PreferenceActivity设置我的应用程序。我想添加一个新的首选项,允许用户选择一个图标。对于这个任务,我想使用ListPreference,但我也想在列表中显示图标。 我尝试自定义List首选项以使用自定义布局,但问题是一旦我这样做了,列表项就不可单击(它确实显示了我的自定义布局并使用当前选择的默认值)。 我在不同的模拟器版本和银河S2上测试了它。当按下项目时,我可以看到一些
现在我看到了两个:-
但是,在Log4JV2中,PatternLayout类被设置为“final”,整个体系结构也被更改。似乎不再有一种简单的方法来拦截/覆盖对PatternLayout对象的调用。我查看了Apache文档,但没有太多信息。 我检查了这个问题和这个问题,但都没有太多的帮助。 我意识到这是一个非常“一般”的问题,但是有没有人知道在Log4j V2中实现这一点的简单方法,或者对此有什么建议?
之所以使用Logback,是因为我们需要一些log4j没有提供的附加程序。 要求:对于日志级错误,我们希望使用自定义模式,它将根据堆栈跟踪添加信息。