Wildfly 8.1日志系统

时间:2015-01-30 14:30:10

标签: log4j wildfly wildfly-8

我正在尝试使用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

2 个答案:

答案 0 :(得分:2)

您将无法在控制台中使用记录器选项。原因是如果包含log4j配置,则为该部署创建完全隔离的日志记录实例。如果要使用jboss的工具,则必须删除日志配置并在独立或域xml中定义。或者,您可以创建自己的servlet或mbean,它是部署的一部分,可以对日志记录级别或任何其他更改进行运行时调整,例如添加或删除appender

答案 1 :(得分:0)

因此,要明确的是,您是否在应用程序中打包了log4j.properties文件?它被正确尊重,但你希望使用jboss控制台在运行时修改日志级别?