我正在尝试使用Wildfly 8.1 Final Log System Categories创建我的Web服务应用程序日志。
我的应用声明
private static final Logger LOGGER = Logger.getLogger("myapp");
它调用部分代码
LOGGER.debug("something");
使用下面的log4j属性文件定义,它的行为符合预期。问题是当我访问Wildfly控制台(http://localhost:9990/console/App.html#logging)并将名为“myapp”的日志类别从INFO更新为DEBUG时。之后我调用我的Web服务调用指令LOGGER.debug(“something”);里面是代码。
预期的行为是显示在我的日志文件中写入的“某事”消息,但它不会发生,因为它的行为只服从下面提供的log4j属性文件。
如何解决这个问题?
#------------------------------------------------------------------------------
#log4j.rootLogger=DEBUG, stdout
log4j.logger.org.hibernate=INFO, stdout, myapp
log4j.logger.org.hibernate.SQL=INFO, stdout, myapp
log4j.logger.org.hibernate.type.descriptor.sql=ALL, stdout, myapp
log4j.logger.myappaudit=INFO, myappaudit
log4j.logger.myapp=INFO, stdout, myapp
log4j.logger.performance=INFO, myapp
#
# default Appender
#------------------------------------------------------------------------------
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.SSS} %c{1} [%p] %C{1}.%M - %m%n
#
# Appender for myappaudit
#------------------------------------------------------------------------------
log4j.appender.myappaudit = org.apache.log4j.DailyRollingFileAppender
log4j.appender.myappaudit.File = ${jboss.server.log.dir}/logs/myappaudit.log
log4j.appender.myappaudit.Append = true
log4j.appender.myappaudit.DatePattern = '.'yyy-MM-dd
log4j.appender.myappaudit.layout = org.apache.log4j.PatternLayout
log4j.appender.myappaudit.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %c{1} [%p] %m%n
#
# Appender for application
#------------------------------------------------------------------------------
log4j.appender.myapp = org.apache.log4j.DailyRollingFileAppender
log4j.appender.myapp.File = ${jboss.server.log.dir}/logs/console.log
log4j.appender.myapp.Append = true
log4j.appender.myapp.DatePattern = '.'yyy-MM-dd
log4j.appender.myapp.layout = org.apache.log4j.PatternLayout
log4j.appender.myapp.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %c{1} [%p] %m%n
#Spring logs
log4j.logger.org.springframework=DEBUG
log4j.logger.org.springframework.security=DEBUG
log4j.logger.org.springframework.ws=DEBUG
#Spring Transaction Logs
log4j.logger.org.springframework.orm.jpa=DEBUG
log4j.logger.org.springframework.transaction=DEBUG
#Spring Async Logs
log4j.logger.org.springframework.scheduling=ERROR
答案 0 :(得分:2)
您将无法在控制台中使用记录器选项。原因是如果包含log4j配置,则为该部署创建完全隔离的日志记录实例。如果要使用jboss的工具,则必须删除日志配置并在独立或域xml中定义。或者,您可以创建自己的servlet或mbean,它是部署的一部分,可以对日志记录级别或任何其他更改进行运行时调整,例如添加或删除appender
答案 1 :(得分:0)
因此,要明确的是,您是否在应用程序中打包了log4j.properties文件?它被正确尊重,但你希望使用jboss控制台在运行时修改日志级别?