我想一个log4j2属性文件配置与控制台和滚动文件追加器使用log4j2,可以使用不同的应用程序。日志配置应旋转生产环境中的日志。
jdgnovmf1#
我认为日志记录或log4j2配置没有这样的行业标准。每个人都根据应用程序的需要更改配置。下面是一个包含ConsoleAppender和RollingFileAppender的log4j2配置文件示例。
log4j2
ConsoleAppender
RollingFileAppender
status = warnname= properties_configuration# Give directory path where log files should get storedproperty.basePath = ./log/# ConsoleAppender will print logs on consoleappender.console.type = Consoleappender.console.name = consoleLoggerappender.console.target = SYSTEM_OUTappender.console.layout.type = PatternLayout# Specify the pattern of the logsappender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l] - %msg%n# RollingFileAppender will print logs in file which can be rotated based on time or sizeappender.rolling.type = RollingFileappender.rolling.name = fileLoggerappender.rolling.fileName= ${basePath}app.logappender.rolling.filePattern= ${basePath}app_%d{yyyyMMdd}.log.gzappender.rolling.layout.type = PatternLayoutappender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l] - %msg%nappender.rolling.policies.type = Policies# Rotate log file each day and keep 30 days worthappender.rolling.policies.time.type = TimeBasedTriggeringPolicyappender.rolling.policies.time.interval = 1appender.rolling.policies.time.modulate = trueappender.rolling.strategy.type = DefaultRolloverStrategyappender.rolling.strategy.delete.type = Deleteappender.rolling.strategy.delete.basePath = ${basePath}appender.rolling.strategy.delete.maxDepth = 1appender.rolling.strategy.delete.ifLastModified.type = IfLastModified# Delete files older than 30 daysappender.rolling.strategy.delete.ifLastModified.age = 30d# Mention package name here in place of example. Classes in this package or subpackages will use ConsoleAppender and RollingFileAppender for logging logger.example.name = examplelogger.example.level = debuglogger.example.additivity = falselogger.example.appenderRef.rolling.ref = fileLoggerlogger.example.appenderRef.console.ref = consoleLogger# Configure root logger for logging error logs in classes which are in package other than above specified packagerootLogger.level = errorrootLogger.additivity = falserootLogger.appenderRef.rolling.ref = fileLoggerrootLogger.appenderRef.console.ref = consoleLogger
status = warn
name= properties_configuration
# Give directory path where log files should get stored
property.basePath = ./log/
# ConsoleAppender will print logs on console
appender.console.type = Console
appender.console.name = consoleLogger
appender.console.target = SYSTEM_OUT
appender.console.layout.type = PatternLayout
# Specify the pattern of the logs
appender.console.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l] - %msg%n
# RollingFileAppender will print logs in file which can be rotated based on time or size
appender.rolling.type = RollingFile
appender.rolling.name = fileLogger
appender.rolling.fileName= ${basePath}app.log
appender.rolling.filePattern= ${basePath}app_%d{yyyyMMdd}.log.gz
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l] - %msg%n
appender.rolling.policies.type = Policies
# Rotate log file each day and keep 30 days worth
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.delete.type = Delete
appender.rolling.strategy.delete.basePath = ${basePath}
appender.rolling.strategy.delete.maxDepth = 1
appender.rolling.strategy.delete.ifLastModified.type = IfLastModified
# Delete files older than 30 days
appender.rolling.strategy.delete.ifLastModified.age = 30d
# Mention package name here in place of example. Classes in this package or subpackages will use ConsoleAppender and RollingFileAppender for logging
logger.example.name = example
logger.example.level = debug
logger.example.additivity = false
logger.example.appenderRef.rolling.ref = fileLogger
logger.example.appenderRef.console.ref = consoleLogger
# Configure root logger for logging error logs in classes which are in package other than above specified package
rootLogger.level = error
rootLogger.additivity = false
rootLogger.appenderRef.rolling.ref = fileLogger
rootLogger.appenderRef.console.ref = consoleLogger
字符串
bttbmeg02#
试试这个:
# Declare loggersname=LoggingConfigappenders=a_console, a_rollingrootLogger.level=inforootLogger.appenderRefs=ar_console,ar_rollingrootLogger.appenderRef.ar_console.ref=StdoutAppenderrootLogger.appenderRef.ar_rolling.ref=DailyRollingAppender # Console loggerappender.a_console.type=Consoleappender.a_console.name=StdoutAppenderappender.a_console.layout.type=PatternLayoutappender.a_console.layout.pattern=%d{ISO8601} [%t] %-5p (%F\:%L) - %m%n # File loggerappender.a_rolling.type=RollingFileappender.a_rolling.name=DailyRollingAppenderappender.a_rolling.layout.pattern=%d{ISO8601} [%t] %-5p (%F\:%L) - %m%n appender.a_rolling.fileName=log4j2-sample.logappender.a_rolling.filePattern=log4j2-sample-%d{yyyy-MM-dd}.log appender.a_rolling.layout.type=PatternLayoutappender.a_rolling.policies.type=Policiesappender.a_rolling.policies.time.type=TimeBasedTriggeringPolicyappender.a_rolling.policies.time.interval=1
# Declare loggers
name=LoggingConfig
appenders=a_console, a_rolling
rootLogger.level=info
rootLogger.appenderRefs=ar_console,ar_rolling
rootLogger.appenderRef.ar_console.ref=StdoutAppender
rootLogger.appenderRef.ar_rolling.ref=DailyRollingAppender
# Console logger
appender.a_console.type=Console
appender.a_console.name=StdoutAppender
appender.a_console.layout.type=PatternLayout
appender.a_console.layout.pattern=%d{ISO8601} [%t] %-5p (%F\:%L) - %m%n
# File logger
appender.a_rolling.type=RollingFile
appender.a_rolling.name=DailyRollingAppender
appender.a_rolling.layout.pattern=%d{ISO8601} [%t] %-5p (%F\:%L) - %m%n
appender.a_rolling.fileName=log4j2-sample.log
appender.a_rolling.filePattern=log4j2-sample-%d{yyyy-MM-dd}.log
appender.a_rolling.layout.type=PatternLayout
appender.a_rolling.policies.type=Policies
appender.a_rolling.policies.time.type=TimeBasedTriggeringPolicy
appender.a_rolling.policies.time.interval=1
hmmo2u0o3#
如果你只需要使用console appender,这是最简单的配置。
name=configappenders=consoleappender.console.type=Consoleappender.console.name=STDOUTappender.console.layout.type=PatternLayout#appender.console.layout.pattern =%d{HH:mm:ss} [%t] %c{1} [%-5level] - %msg%nappender.console.layout.pattern=%d{dd-MM-yyyy HH:mm:ss} [%-5p] (%F:%L) - %m%nrootLogger.level=inforootLogger.appenderRefs=stdoutrootLogger.appenderRef.stdout.ref=STDOUT#if you want to make package specific configuration#logger.org.apache=warn
name=config
appenders=console
appender.console.type=Console
appender.console.name=STDOUT
appender.console.layout.type=PatternLayout
#appender.console.layout.pattern =%d{HH:mm:ss} [%t] %c{1} [%-5level] - %msg%n
appender.console.layout.pattern=%d{dd-MM-yyyy HH:mm:ss} [%-5p] (%F:%L) - %m%n
rootLogger.appenderRefs=stdout
rootLogger.appenderRef.stdout.ref=STDOUT
#if you want to make package specific configuration
#logger.org.apache=warn
3条答案
按热度按时间jdgnovmf1#
我认为日志记录或
log4j2
配置没有这样的行业标准。每个人都根据应用程序的需要更改配置。下面是一个包含
ConsoleAppender
和RollingFileAppender
的log4j2配置文件示例。字符串
bttbmeg02#
试试这个:
字符串
hmmo2u0o3#
如果你只需要使用console appender,这是最简单的配置。
字符串