Log4j多模式布局

Log4j多模式布局,log4j,pattern-layout,Log4j,Pattern Layout,我对log4j很陌生。我想用以下信息显示日志消息:日志时间戳、优先级、完全限定类名、消息、仅类名。 我尝试显示两次该类别,一次使用ConversionPattern,一次使用其他ConversionPattern。这是我的log4j.properties的一部分: log4j.appender.JDBC2.layoutPartsDelimiter=#-# log4j.appender.B1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %

我对log4j很陌生。我想用以下信息显示日志消息:日志时间戳、优先级、完全限定类名、消息、仅类名。 我尝试显示两次该类别,一次使用ConversionPattern,一次使用其他ConversionPattern。这是我的log4j.properties的一部分:

log4j.appender.JDBC2.layoutPartsDelimiter=#-#    
log4j.appender.B1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n #-#%-4r [%t] %-5p %c{1} %x %m%n
可悲的是,它不起作用。如何在同一日志消息中显示完全限定类名和类名?蒂亚

弗朗西斯科

  • log4j.appender.B1.layout.ConversionPattern是这里的一个键,您可以 仅将其与一个值关联。所以,如果你这样写:
    
    Log4j.appender.B1.layout.ConversionPattern=%some%value%here
    Log4j.appender.B1.layout.ConversionPattern=%another%value%here
    注意:两个附加器之间的唯一区别是
    Appender的名称和ConversionPattern属性

  • 可以找到关于log4j的更详细的讨论

  • 这是我的错误。正如您在我之前的文章中所看到的,分隔符和模式布局指的是不同的附加器。我改变

    log4j.appender.JDBC2.layoutPartsDelimiter=#-#    
    log4j.appender.B1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n #-#%-4r [%t] %-5p %c{1} %x %m%n
    
    为此:

    log4j.appender.B1.layoutPartsDelimiter=#-#    
    log4j.appender.B1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n #-#%-4r [%t] %-5p %c{1} %x %m%n
    
    当我使用@LAYOUT:1时,我得到了第一个转换模式(分隔符#-#的左边)。当我使用@LAYOUT:2@时,我得到了第二个图案。多谢各位

    弗朗西斯科

    log4j.appender.B1.layoutPartsDelimiter=#-#    
    log4j.appender.B1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n #-#%-4r [%t] %-5p %c{1} %x %m%n