Skip to main content
Home
badllama.com
  • Search
  • Log In

Tomcat 7 - Logging to syslog with Log4j

bchavet's picture

Tue, 01/10/2012 - 16:21 by bchavet

  1. Follow the instructions at http://tomcat.apache.org/tomcat-7.0-doc/logging.html#Using_Log4j to install log4j. Be sure to enable log4j globally by installing it to $CATALINA_BASE/lib
  2. Make sure your syslog daemon is configured to listen on UDP port 514
  3. Modify $CATALINA_BASE/lib/log4j.properties as follows (changes are highlighted)
    log4j.rootLogger=INFO, CATALINA, SYSLOG
    
    # Define all the appenders
    log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.CATALINA.File=${catalina.base}/logs/catalina.log
    log4j.appender.CATALINA.Append=true
    log4j.appender.CATALINA.Encoding=UTF-8
    # Roll-over the log once per day
    log4j.appender.CATALINA.DatePattern='.'yyyy-MM-dd'.log'
    log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
    log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    
    log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost.log
    log4j.appender.LOCALHOST.Append=true
    log4j.appender.LOCALHOST.Encoding=UTF-8
    log4j.appender.LOCALHOST.DatePattern='.'yyyy-MM-dd'.log'
    log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
    log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    
    log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.MANAGER.File=${catalina.base}/logs/manager.log
    log4j.appender.MANAGER.Append=true
    log4j.appender.MANAGER.Encoding=UTF-8
    log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd'.log'
    log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
    log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    
    log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager.log
    log4j.appender.HOST-MANAGER.Append=true
    log4j.appender.HOST-MANAGER.Encoding=UTF-8
    log4j.appender.HOST-MANAGER.DatePattern='.'yyyy-MM-dd'.log'
    log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
    log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.Encoding=UTF-8
    log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    
    log4j.appender.SYSLOG = org.apache.log4j.net.SyslogAppender
    log4j.appender.SYSLOG.syslogHost = 127.0.0.1
    log4j.appender.SYSLOG.layout = org.apache.log4j.PatternLayout
    log4j.appender.SYSLOG.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
    log4j.appender.SYSLOG.Facility = LOCAL0
    
    # Configure which loggers log to which appenders
    log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST, SYSLOG
    log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\
      INFO, MANAGER, SYSLOG
    log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\
      INFO, HOST-MANAGER, SYSLOG
Powered by Backdrop CMS