在我的WAR中,我想使用log4j.properties
(位于WEB-INF/classes
)进行我自己的设置。按照here所述的每部署日志记录不起作用,即JBoss不会记录我的应用程序中的任何内容。我简单的应用程序(重现该问题)包含:如何为JBoss 7.2配置slf4j - log4j每部署日志记录
WEB-INF/classes/log4j.properties
WEB-INF/classes/logging/LoggingContextListener.class
WEB-INF/lib/log4j-1.2.17.jar
WEB-INF/lib/slf4j-api-1.7.5.jar
WEB-INF/lib/slf4j-log4j12-1.7.5.jar
其中LoggingContextListener
只是记录一些随机字符串。 log4j.properties
包含:
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
任何人都遇到过类似的问题?
你知道吗可修复?怎么样?
为了避免对这里的日志门槛混乱年代LoggingContextListener
System.err.println("Trying to log something using SLF4J-Log4J");
org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(getClass());
logger.error("Hello");
logger.warn("anybody home?");
logger.info("can you hear me?");
logger.debug("WTF?");
System.err.println("Did you notice any logs?");
身体当我从classpath中我得到删除log4j.properties
:
ERROR [stderr] (ServerService Thread Pool -- 54) Trying to log something using SLF4J-Log4J
ERROR [logging.LoggingContextListener] (ServerService Thread Pool -- 54) Hello
WARN [logging.LoggingContextListener] (ServerService Thread Pool -- 54) anybody home?
INFO [logging.LoggingContextListener] (ServerService Thread Pool -- 54) can you hear me?
ERROR [stderr] (ServerService Thread Pool -- 54) Did you notice any logs?
但这些日志直接从JBoss的到来记录器配置在standalone.xml
- 不是我想要的。
唯一的区别是,你添加了log4j.appender.stdout.Threshold = debug。有什么意思?反正它没有帮助(为什么要这样?) – pbielicki
看到这个.. http:// stackoverflow.com/questions/5119883/log4j-what-is-threshold –
阈值决定您的日志记录模式,无论是错误,调试.. –