Very simple log4j2 properties configuration file using Console and Rolling File appender

后端 未结 3 2015
佛祖请我去吃肉
佛祖请我去吃肉 2021-02-01 21:54

I\'d like a log4j2 properties file configuration with a console and a rolling file appender using log4j2 that can be used different application. The log configuration should rot

相关标签:
3条回答
  • 2021-02-01 22:35

    I think there is no such industry standard for logging or log4j2 configuration. Everyone change the configuration as per the need of the application.

    Below is one sample log4j2 configuration file having ConsoleAppender and RollingFileAppender -

    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
    
    0 讨论(0)
  • Try this out:
    
    # 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
    
    0 讨论(0)
  • 2021-02-01 22:48

    This is the simplest config if you just need to use console appender.

    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.level=info
    rootLogger.appenderRefs=stdout
    rootLogger.appenderRef.stdout.ref=STDOUT
    
    #if you want to make package specific configuration
    #logger.org.apache=warn
    
    0 讨论(0)
提交回复
热议问题