在我的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 –
閾值決定您的日誌記錄模式,無論是錯誤,調試.. –