快速定位系统问题之logger

一般系统出问题,我们都会去查询logger,正常系统都会把log分为正常级别与异常,异常的还好查,但是遇到不是异常的又如何查呢?
1:普通查询:vi xxx.log /关键字
2:高级查询:vi xxx.log esc :v/关键字/d(以此查询出来的log只会把有关键字的log显示出来,精准定位)

12018-04-27 17:05:04.747 ERROR com.xx.api.CommonCtrl : invoke SMS api error. code=2,msg=请求参数格式错误
22018-04-27 17:05:11.899 ERROR com.xx.api.CommonCtrl : invoke SMS api error. code=2,msg=请求参数格式错误
32018-04-28 09:57:50.511 ERROR com.xx.api.CommonCtrl : invoke SMS api error. code=15,msg=签名不匹配
42018-04-28 09:58:00.995 ERROR com.xx.api.CommonCtrl : invoke SMS api error. code=15,msg=签名不匹配
52018-04-28 09:58:37.311 ERROR com.xx.api.CommonCtrl : invoke SMS api error. code=15,msg=签名不匹配

上述的是简单的日志查询技巧,接下来介绍的是单独流程日志,正常系统的关键模块需要单独开一个log,比如提现,充值,这样排查的时候比较好查,那么如何实现呢?

1:新建提现日志类

 1public class RechargeLog {
 2    private static final Logger logger = LoggerFactory.getLogger( RechargeLog.class );
 3    public static void info(String format,Object...  arguments){
 4        logger.info(format,arguments);
 5    }
 6    public static void info(String format){
 7        logger.info(format);
 8    }
 9    public static void debug(String format,Object...  arguments){
10        logger.debug(format,arguments);
11    }
12    public static void debug(String format){
13        logger.debug(format);
14    }
15    public static void error(String format, Object... arguments){
16        logger.error(format,arguments);
17    }
18    public static void error(String format){
19        logger.error(format);
20    }
21}

2:logger.xml配置

 1    <!--支付流程日志 -->
 2    <appender name="RECHARGE_LOG"
 3        class="ch.qos.logback.core.rolling.RollingFileAppender">
 4        <file>${LOG_HOME}/recharge.txt</file>
 5        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
 6            <fileNamePattern>${LOG_HOME}/%d{yyyy.MM,aux}/recharge.%d{yyyy-MM-dd}.%i.zip
 7            </fileNamePattern>
 8            <timeBasedFileNamingAndTriggeringPolicy
 9                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
10                <maxFileSize>1024MB</maxFileSize>
11            </timeBasedFileNamingAndTriggeringPolicy>
12        </rollingPolicy>
13        <encoder>
14            <pattern>%d{MM-dd HH:mm:ss.SSS} %level - %msg%n
15            </pattern>
16        </encoder>
17    </appender> 
18    <logger name="com.xm.stmall.log.RechargeLog" level="DEBUG" additivity="false" >
19        <appender-ref ref="RECHARGE_LOG" />
20    </logger>

3:使用方法

在你的业务代码中有关提现或者充值的日志直接调用 RechargeLog .info('提现')即可

4:技术讨论请关注公众号

   
   
   

猜你喜欢

转载自blog.csdn.net/charjay_lin/article/details/80152688