2010-07-27 38 views
11

我想配置Tomcat和一個webapp(Atlassian JIRA)來記錄一切通過系統日誌。如何配置Tomcat以通過系統日誌記錄所有內容?

這是我加入到Web應用程序log4j.properties(Atlassian的-JIRA/WEB-INF /班/ log4j.properties):

log4j.rootLogger=WARN, syslog 
log4j.appender.syslog=org.apache.log4j.net.SyslogAppender 
log4j.appender.syslog.facility=LOCAL0 
log4j.appender.syslog.layout.ConversionPattern=%-5p [%t] [%c]: %m%n 
log4j.appender.syslog.layout=org.apache.log4j.PatternLayout 
log4j.appender.syslog.SyslogHost=my.syslog.server.fqdn 

但是,沒有在系統日誌發送。我在端口514上嗅探了傳出的數據包,並沒有出現任何內容。

感謝您的幫助!

回答

3

這裏是我目前使用的解決方案:我除去CONF

  1. /logging.properties文件
  2. 我修改Atlassian的-JIRA/WEB-INF /類/ log4j.properties以便禁用所有文件記錄的操作,只留下控制檯記錄
  3. 我修改catalina.sh以管其輸出logger

我想象這個解決方案不符合java-world-compliant。但它的工作。

但是,我仍然在尋找更簡潔的方式來登錄到系統日誌。

2

我也非常喜歡JIRA的syslog appender,它不需要單獨的記錄器進程。

修改/opt/jira/atlassian-jira/WEB-INF/classes/log4j.properties在相關結果Q指示如下:

... 
23-Sep-2011 12:12:44 org.apache.catalina.core.StandardService start 
INFO: Starting service Catalina 
23-Sep-2011 12:12:44 org.apache.catalina.core.StandardEngine start 
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32 
log4j:ERROR Could not instantiate class [org.apache.log4j.net.SyslogAppender]. 
java.lang.ClassNotFoundException: org.apache.log4j.net.SyslogAppender 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Unknown Source) 
     at org.apache.log4j.helpers.Loader.loadClass(Loader.java:179) 
     at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:320) 
     at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:121) 
     at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:664) 
     at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:647) 
     at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:544) 
     at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:440) 
     at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:476) 
     at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:471) 
     at org.apache.log4j.LogManager.<clinit>(LogManager.java:125) 
     at org.apache.log4j.Logger.getLogger(Logger.java:118) 
     at com.atlassian.jira.startup.LauncherContextListener.<clinit>(LauncherContextListener.java:40) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
     at java.lang.reflect.Constructor.newInstance(Unknown Source) 
     at java.lang.Class.newInstance0(Unknown Source) 
     at java.lang.Class.newInstance(Unknown Source) 
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4149) 
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704) 
     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
     at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) 
     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
     at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
     at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
     at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 
log4j:ERROR Could not instantiate appender named "syslog". 
... 

我可能是錯的,但它看起來像在org.apache.log4j.helpers.Loader.loadClass類加載器所知道的org.apache.log4j包,但即使他們居住在同一個JAR /選擇不org.apache.log4j.net包/jira/lib/log4j-1.2.15.jar

寫本文時:JIRA 4.4.1通過Linux 64位安裝程序。

相關問題