当前位置: 首页 > 知识库问答 >
问题:

logback-确定将日志消息发送给附加器的实际日志记录程序

饶元章
2023-03-14

是否有可能在Logback中确定将日志消息发送到附加器的实际日志记录程序?示例:

<configuration>
    <!-- ... -->
    <logger name="com.example">
      <appender-ref ref="myAppender"/>
    </logger>
    <logger name="com.example.sub">
      <appender-ref ref="myAppender"/>
    </logger>
</configuration>
Logger com.example (com.example.sub.MyClass)  Test
Logger com.example.sub (com.example.sub.MyClass)  Test
ContextSelectorStaticBinder binder = ContextSelectorStaticBinder.getSingleton();
ContextSelector selector = binder.getContextSelector();
selector.getLoggerContext(name).setName(name);
selector.getLoggerContext(name).getLogger(name).addAppender(appender);
@Override
public void doEncode(ILoggingEvent event) throws IOException {
    String name = event.getLoggerContextVO().getName();
    // ...
}

但是selector.getLoggerContext(name)不会返回不同的实例。背景:我有一个appender将日志消息发送到WebSocket。这个appender应该能够“订阅”不同的记录器(基本上像XML中的记录器)。该网页将在不同的选项卡(“通道”)中显示日志消息。

共有1个答案

米子轩
2023-03-14

您可以知道哪个记录器/类用布局记录日志:http://logback.qos.ch/manual/layouts.html#ConversionWord

您可以使用自定义模式筛选日志,以便在不同的选项卡中显示日志

 类似资料:
  • 问题内容: 场景是这样的: 我们正在使用JBehave和Selenium进行系统,集成和端到端测试。我正在检查超过20个值的页面上的计算结果以进行验证。使用Junit Assert,如果其中一个值不正确的第一个实例,则整个测试将失败。我想做的是,如果遇到断言失败,那么测试将继续执行,这样我就可以整理一次测试而不是多次测试中所有不正确的值。 为此,我捕获了断言并将未通过验证的所有内容写到日志文件中。

  • 在我看来,我想要达到的目标是很普通的,但我并没有让它起作用: 根记录器可以记录从其他特定记录器传递的信息消息,但是对于这个特定的记录器,我不希望任何信息消息被向上传递到层次结构上。

  • 我想在我的应用程序中使用SLF4J+logback用于两个目的--日志和审计。 14:41:57.978[main]信息AUDIT_LOGGER-110欢迎使用main 如何确保审核消息在审核记录器下只出现一次?

  • 我希望将具有特定记录器名称、特定级别和更高级别(例如和更高级别)的消息记录到特定日志处理程序(例如文件处理程序),同时仍将所有日志消息发送到控制台。Python是2.7版。 到目前为止,我尝试创建了两个记录器: 根记录器 命名记录器 对于根记录器,我附加了,并将日志级别设置为。 然后,我将一个处理程序附加到命名记录器,并将该记录器的级别设置为。 当我现在调用使用命名记录器的模块时,我不再获得传播到

  • 看过本章第一节的同学应该还记得,log_by_lua* 是一个请求经历的最后阶段。由于记日志跟应答内容无关,Nginx 通常在结束请求之后才更新访问日志。由此可见,如果我们有日志输出的情况,最好统一到 log_by_lua* 阶段。如果我们把记日志的操作放在 content_by_lua* 阶段,那么将线性的增加请求处理时间。 在公司某个定制化项目中,Nginx 上的日志内容都要输送到 syslo

  • 问题内容: log4j具有属性,可以帮助用户指示实际使用哪个配置文件来配置日志记录系统。 我还没有找到与(否则更高级的)Logback日志记录框架等效的东西。有什么方法可以在运行时打印(用于诊断目的)Logback用来引导自身的配置文件? [编辑]澄清一下,理想情况下,我想要一个不需要我修改配置文件本身的解决方案(例如,由于组装错误的第三方JAR可能会被错误地提取,并且在我的注销配置之前) XML