Log4j不会将日志写入一个Websphere服务器上的文件并写入另一个上的文件

时间:2017-07-07 15:27:11

标签: java log4j websphere

我的maven应用程序中包含log4j.properties,其设置是将日志写入指定的文件而不是控制台。当我在其中一个websphere服务器上运行EAR时,它会按预期创建文件并将日志写入其中。但是,当我在其他webspehere服务器上运行相同的EAR时,它正在写入控制台而不是将日志写入指定的文件。我检查了权限,一切似乎都没问题。请帮我确定问题所在。提前致谢。

 # CONSOLE APPENDER (stdout)
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Threshold=DEBUG
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] [%t] %-5p %20c - %m%n

# ROLLING FILE APPENDER (on the file system) for memberpolicyattributesservice code
log4j.appender.xxxxService=org.apache.log4j.RollingFileAppender
log4j.appender.xxxxService.Threshold=DEBUG
log4j.appender.xxxxService.File=/var/logs/xxxServer1/xxxServiceLog.log
log4j.appender.xxxxService.layout=org.apache.log4j.PatternLayout
log4j.appender.xxxxService.layout.ConversionPattern=%d{MM-dd@HH:mm:ss} %-5p (%13F:%L) %3x - %m%n 
log4j.appender.xxxxService.MaxFileSize=10000KB
log4j.appender.xxxxService.MaxBackupIndex=30
log4j.appender.xxxxService.layout=org.apache.log4j.PatternLayout
log4j.appender.xxxxService.layout.ConversionPattern=[%d] [%t] %-5p %20c - %m%n



# ROLLING FILE APPENDER (on the file system) for hiberate, open source code log files
log4j.appender.open_source_code=org.apache.log4j.RollingFileAppender
log4j.appender.open_source_code.layout=org.apache.log4j.PatternLayout
log4j.appender.open_source_code.Threshold=DEBUG
#message format:YYYY-MM-DD HH:mm:ss,ms [ThreadId] <PRIORITY> classname.message
log4j.appender.open_source_code.layout.ConversionPattern=%d [%t]<%-5p> %c.%m \r\n
#file that will be logged to
log4j.appender.open_source_code.File=/var/logs/xxxServer1/open_source_code.log
log4j.appender.open_source_code.Append=true
log4j.appender.open_source_code.MaxFileSize=1024KB
log4j.appender.open_source_code.MaxBackupIndex=5


#turn on log4j verbose mode
log4j.debug = true

# Set root logger level to INFO and its  appender to DSInstrumentor,stdout.
log4j.rootLogger=DEBUG,stdout,xxxxService


# YOUR CATEGORIES (to customize logging per class/pkg/project/etc)
log4j.category.fatal=FATAL,xxxxService
log4j.category.error=ERROR,xxxxService


#This will also enable the logging for all the children (packages and classes) of this package

log4j.logger.com.xxxxx=ALL,xxxxService

# Print only messages of level INFO  in the open source code
log4j.logger.org=INFO,open_source_code

1 个答案:

答案 0 :(得分:0)

您在根记录器中定义了多个记录器(DEBUG,stdout,xxxxService),但xxxxService记录器看起来像是绑定到其中一个系统上的文件系统:

log4j.appender.open_source_code.File =的/ var /日志/的 xxxServer1 /open_source_code.log

确保路径对WAS群集中的每个服务器都有效。

作为旁注,您应该避免在远程服务器上使用debug和stdout。这适用于工作站中的本地开发,但不适用于远程机箱。相反,在各种部署层上提供不同的log4j属性。这使您可以自定义日志位置或appender(例如桌面上的c:\ temp或CONSOLE,但所有远程计算机上的/ var / logs ...)以及日志级别(桌面DEBUG,QA或可能是INFO)分段,以及生产的WARN或ERROR。)