我想要创建一个记录器,同时记录到滚动文件和我的控制台。每个单独的工作完美,但只结合滚动工作。也许我做错了什么,并没有理解log4j2。
我希望有一个人可以帮助我。
我的属性文件如下:
status =错误
name = PropertiesConfig
filters = threshold
filter.threshold.type = ThresholdFilter
filter.threshold.level = debug
appenders = console,滚动
appender.console.type =控制台
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern =%-4r%-5p [%t]%c - %m%n
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = mypathtofilehere
appender.rolling.filePattern = CrashDesigner-%d {MM-dd-yy-HH-mm-ss} - %i.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern =%d {yyyy-MM-dd HH:mm:ss}%-5p%c {1}:%L - %m%n
appender.rolling.policies.type =政策
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy
appender.rolling.policies.size.size = 10MB
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 40
loggers = rolling.file
logger.rolling.file.name = com.myapp
logger.rolling.file.level = debug
logger.rolling.file.additivity = false
logger.rolling.file.appenderRefs =滚动
logger.rolling.file.appenderRef.rolling.ref = RollingFile
Route.Level = Debug
rootLogger.appenderRefs = stdout
rootLogger.appenderRef.stdout.ref = STDOUT
我在这看到两种可能性。或
logger.rolling.file.additivity = true
要么logger.rolling.file.appenderRef.stdout.ref = STDOUT
你也应该用.appenderRefs
删除行。 log4j2中没有这样的appenderRefs实体。
每个记录器都可以写入多个appender。为此,它应该引用所有这些appender,这可以使用appenderRefs实现。
logger.rolling.file.appenderRefs = rolling, stdout
logger.rolling.file.appenderRef.rolling.ref = RollingFile
logger.rolling.file.appenderRef.stdout.ref = STDOUT
这将使记录器'rolling.file'触发的每个logevent附加到appenders STDOUT和RollingFle。