编辑:所以看来问题出在我的日志处理程序/附加程序和根记录器的日志级别。不知何故,总部(只是另一个应用程序)将其日志配置为获取所有日志消息。我需要的是禁止我的jsa处理程序将日志消息向上传递。
你好。我的日志记录有问题。
信息:我在服务器上运行了几个应用程序(包括 hyperic,进一步的 HQ)。服务器上还运行着一个 groovy 应用程序/脚本。HQ 触发了一个脚本,但实际上并没有与之集成,这意味着 HQ 所知道的关于 groovy 脚本的所有信息都是由 groovy 脚本生成的命令行中的输出。
问题:总部日志以某种方式从 groovy 脚本中获取所有消息。我可能会假设当 groovy 进行日志记录时,它还会将所有日志打印到标准 java 日志,而后者又被 HQ 覆盖。
我有一个 groovy 脚本的 log4j 配置,它应该使日志记录到默认的 java 日志是不可能的。
log4j.rootLogger=info, jsa
log4j.logger.net.schmizz.sshj=WARN
#Defining logger scope and it's params
log4j.logger.mypackage=INFO, jsa
log4j.appender.jsa=org.apache.log4j.RollingFileAppender
log4j.appender.jsa.File=logs/jsa.log
log4j.appender.jsa.MaxFileSize=1MB
log4j.appender.jsa.MaxBackupIndex=5
log4j.appender.jsa.layout=org.apache.log4j.PatternLayout
log4j.appender.jsa.layout.ConversionPattern=%d [%t] %-5p %c (%F:%L) - %m%n
虽然我仍然得到所有讨厌的日志记录。
PS:我也使用 slf4j 来获得灵活性,尽管我怀疑它是否能做到这一点。