zoukankan      html  css  js  c++  java
  • golang logrus

    golang logrus

    示例1: 输出json日志、日志按小时切割

    func InitLog(path string) {
    	// LOG
    	Log = log.New()
    	/* 日志轮转相关函数
    	`WithLinkName` 为最新的日志建立软连接
    	`WithRotationTime` 设置日志分割的时间,隔多久分割一次
    	WithMaxAge 和 WithRotationCount二者只能设置一个
    	 `WithMaxAge` 设置文件清理前的最长保存时间
    	 `WithRotationCount` 设置文件清理前最多保存的个数
    	*/
    	// 下面配置日志每隔 1 分钟轮转一个新文件,保留最近 3 分钟的日志文件,多余的自动清理掉。
    	writer, _ := rotatelogs.New(
    		path+".%Y%m%d%H",
    		rotatelogs.WithLinkName(path),
    		rotatelogs.WithMaxAge(time.Duration(720)*time.Hour),
    		rotatelogs.WithRotationTime(time.Duration(24)*time.Hour),
    	)
    	Log.SetFormatter(&log.JSONFormatter{})
    	// Log.SetOutput(writer)
            Log.SetOutput(io.MultiWriter(os.Stdout, writer))
    }
    

    示例2: 增加json数据的key

    1. withfields

    	utils.Log.WithFields(logrus.Fields{
    		"name": "username",
    		"age": "age",
    	}).Infof("aaa")
    

    2. withfield

    	utils.Log.WithField("name","username").WithField("age","age").Infof("aaa")
    
  • 相关阅读:
    lightoj1140_数位dp
    lightoj1057_状压dp
    lightoj1068_数位dp
    lightoj1018_状压dp
    lightoj1217_简单dp
    lightoj1119_简单状压dp
    lightoj1037_状压dp
    lightoj1110_LCS并输出
    图论算法----最短路
    poj1182 食物链
  • 原文地址:https://www.cnblogs.com/-xuan/p/14922472.html
Copyright © 2011-2022 走看看