zoukankan      html  css  js  c++  java
  • openTSDB日志配置

    openTSDB启动之后,发现在日志目录下只生成了日志空文件,并没有写入日志内容。查看日志配置文件logback.xml如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
      <!--<jmxConfigurator/>-->
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
          <pattern>
            %d{ISO8601} %-5level [%thread] %logger{0}: %msg%n
          </pattern>
        </encoder>
      </appender>
      
      <!-- This appender is responsible for the /logs endpoint. It maintains MaxSize 
           lines of the log file in memory. If you don't need the endpoint, disable
           this appender (by removing the line "<appender-ref ref="CYCLIC"/>" in
           the "root" section below) to save some cycles and memory. -->
      <appender name="CYCLIC" class="ch.qos.logback.core.read.CyclicBufferAppender">
        <MaxSize>1024</MaxSize>
      </appender>
      
      <!-- Appender to write OpenTSDB data to a set of rotating log files -->
      <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
          <file>/var/log/opentsdb/opentsdb.log</file>
          <append>true</append>
          <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
             <fileNamePattern>/home/y/logs/opentsdb2/opentsdb.log.%i</fileNamePattern>
             <minIndex>1</minIndex>
             <maxIndex>4</maxIndex>
          </rollingPolicy>
          <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
             <maxFileSize>512MB</maxFileSize>
          </triggeringPolicy>
          <!-- encoders are assigned the type
           ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
          <encoder>
             <pattern>%date{ISO8601} [%thread] %-5level [%logger{0}.%M] - %msg%n</pattern>
          </encoder>
       </appender>
      
      <!-- Appender for writing full and completed queries to a log file. To use it, make
           sure to set the "level" to "INFO" in QueryLog below. -->
      <appender name="QUERY_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/var/log/opentsdb/queries.log</file>
        <append>true</append>
    
        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>/var/log/opentsdb/queries.log.%i</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>4</maxIndex>
        </rollingPolicy>
    
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>128MB</maxFileSize>
        </triggeringPolicy>
        <encoder>
            <pattern>%date{ISO8601} [%logger.%M] %msg%n</pattern>
        </encoder>
      </appender>
      
      <!-- Per class logger levels -->
      <logger name="QueryLog" level="INFO" additivity="false">
        <appender-ref ref="QUERY_LOG"/>
      </logger>
      <logger name="org.apache.zookeeper" level="INFO"/>
      <logger name="org.hbase.async" level="INFO"/>
      <logger name="com.stumbleupon.async" level="INFO"/>
      
      <!-- Fallthrough root logger and router -->
      <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="CYCLIC"/>
        <!-- Uncomment to log to file -->
        <!--<appender-ref ref="FILE"/>-->
      </root>
    </configuration>
    <appender-ref ref="FILE"/> 默认被注释掉,导致日志内容不会像文件中输出。取消此处注释,opentsdb.log文件中会有日志输出。但此处配置的日志并不是按日期每天生成的,不方便查找日志。修改为如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
        <property name="LOG_HOME" value="/data/logs/opentsdb"/>
    
      <!--<jmxConfigurator/>-->
      <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
          <pattern>
            <!--%d{ISO8601} %-5level [%thread] %logger{0}: %msg%n-->
            [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{0} - %msg%n
          </pattern>
        </encoder>
      </appender>
      
      <!-- This appender is responsible for the /logs endpoint. It maintains MaxSize 
           lines of the log file in memory. If you don't need the endpoint, disable
           this appender (by removing the line "<appender-ref ref="CYCLIC"/>" in
           the "root" section below) to save some cycles and memory. -->
      <appender name="CYCLIC" class="ch.qos.logback.core.read.CyclicBufferAppender">
        <MaxSize>1024</MaxSize>
      </appender>
      
      <!-- Appender to write OpenTSDB data to a set of rotating log files -->
      <!--<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
          <file>${LOG_HOME}/opentsdb.log</file>
          <append>true</append>
          <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
             <fileNamePattern>${LOG_HOME}/opentsdb.log.%i</fileNamePattern>
             <minIndex>1</minIndex>
             <maxIndex>4</maxIndex>
          </rollingPolicy>
          <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
             <maxFileSize>100MB</maxFileSize>
          </triggeringPolicy>
          &lt;!&ndash; encoders are assigned the type
           ch.qos.logback.classic.encoder.PatternLayoutEncoder by default &ndash;&gt;
          <encoder>
             <pattern>%date{ISO8601} [%thread] %-5level [%logger{0}.%M] - %msg%n</pattern>
          </encoder>
       </appender>-->
        <!-- 修改为TimeBasedRollingPolicy,按日期产生日志文件-->
        <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <!--<Encoding>UTF-8</Encoding>-->
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <!--日志文件输出的文件名-->
                <FileNamePattern>${LOG_HOME}/opentsdb.%d{yyyy-MM-dd}_%i.info.log</FileNamePattern>
                <!--日志文件保留天数-->
                <MaxHistory>180</MaxHistory>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>100MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
            <encoder>
                <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{0} - %msg%n</pattern>
            </encoder>
        </appender>
    
    
      <!-- Appender for writing full and completed queries to a log file. To use it, make
           sure to set the "level" to "INFO" in QueryLog below. -->
        <appender name="QUERY_LOG" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${LOG_HOME}/queries.log</file>
            <append>true</append>
    
            <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                <fileNamePattern>${LOG_HOME}/queries.log.%i</fileNamePattern>
                <minIndex>1</minIndex>
                <maxIndex>4</maxIndex>
            </rollingPolicy>
    
            <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                <maxFileSize>128MB</maxFileSize>
            </triggeringPolicy>
            <encoder>
                <pattern>%date{ISO8601} [%logger.%M] %msg%n</pattern>
            </encoder>
        </appender>
      
      <!-- Per class logger levels -->
      <logger name="QueryLog" level="INFO" additivity="false">
        <appender-ref ref="QUERY_LOG"/>
      </logger>
      <logger name="org.apache.zookeeper" level="INFO"/>
      <logger name="org.hbase.async" level="INFO"/>
      <logger name="com.stumbleupon.async" level="INFO"/>
      
      <!-- Fallthrough root logger and router -->
      <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="CYCLIC"/>
        <!-- Uncomment to log to file -->
        <appender-ref ref="FILE"/>
        <!--<appender-ref ref="QUERY_LOG"/>-->
      </root>
    </configuration>
    按日期产生日志文件,每个文件大小100M,保留180天的日志文件。 

    queries.log中输出内容和opentsdb.log重复,<!--<appender-ref ref="QUERY_LOG"/>-->  QUERY_LOG内容不再向文件中输出(格式也未修改)。

    
    



  • 相关阅读:
    Atitit  atiMail atiDns新特性 v2  q39
    Atitit  atiMail atiDns新特性 v2  q39
    Atitit.aticmd v4  新特性q39 添加定时器释放功能
    Atitit.aticmd v4  新特性q39 添加定时器释放功能
    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
    Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
    Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
    atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException  v2 q31
    知也atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException  v2 q31无涯 - I
  • 原文地址:https://www.cnblogs.com/iiot/p/8520677.html
Copyright © 2011-2022 走看看