zoukankan      html  css  js  c++  java
  • go logger日志库


    logger包介绍

    logger支持功能

    • logger支持自定义时间格式;
    • logger支持不同的日志等级输出,能够有效提高日志输出性能和检索;
    • logger支持控制台+文件+网络的三种方式输出,并且可以任意组合;
    • logger支持控制台输出颜色区分;
    • logger支持文本输出的自定制;
    • logger支持网络日志传输,例如直连logstash发送;
    • logger支持输出程序文件名和行数、时间等;

    logger日志等级

    等级 配置 释义 控制台颜色
    0  EMER  系统级紧急,比如磁盘出错,内存异常,网络不可用等  红色底
    1 ALRT 系统级警告,比如数据库访问异常,配置文件出错等 紫色
    2 CRIT 系统级危险,比如权限出错,访问异常等 蓝色
    3 EROR 用户级错误 红色
    4 WARN 用户级警告 黄色
    5 INFO 用户级重要 天蓝色
    6 DEBG 用户级调试 绿色
    TRAC 用户级基本输出,比如成员信息,结构体值等 绿色

    logger安装

    go get github.com/wonderivan/logger
    

      

    简单使用

    package main
    import "logger"
     
    func main() {
    	logger.Trace("this is Trace") // 由于默认输出,只会在控制台输出Debug及其以上日志,所以该条不会输出
    	logger.Debug("this is Debug")
    	logger.Info("this is Info")
    	logger.Warn("this is Warn")
    	logger.Error("this is Error")
    	logger.Crit("this is Critical")
    	logger.Alert("this is Alert")
    	logger.Emer("this is Emergency")
    }
    

      

    参数配置

    参数

    {
        "TimeFormat":"2006-01-02 15:04:05", // 输出日志开头时间格式
        "Console": {            // 控制台日志配置
            "level": "TRAC",    // 控制台日志输出等级
            "color": true       // 控制台日志颜色开关 
        },
        "File": {                   // 文件日志配置
            "filename": "app.log",  // 初始日志文件名
            "level": "TRAC",        // 日志文件日志输出等级
            "daily": true,          // 跨天后是否创建新日志文件,当append=true时有效
            "maxlines": 1000000,    // 日志文件最大行数,当append=true时有效
            "maxsize": 1,           // 日志文件最大大小,当append=true时有效
            "maxdays": -1,          // 日志文件有效期
            "append": true,         // 是否支持日志追加
            "permit": "0660"        // 新创建的日志文件权限属性
        },
        "Conn": {                       // 网络日志配置
            "net":"tcp",                // 日志传输模式
            "addr":"10.1.55.10:1024",   // 日志接收服务器
            "level": "Warn",            // 网络日志输出等级
            "reconnect":true,           // 网络断开后是否重连
            "reconnectOnMsg":false,     // 发送完每条消息后是否断开网络
        }
    }

    如何参数配置

    由两种方式配置
    通过调用logger.SetLogger(config string)方法设置参数,config支持json配置,也支持指定内容为json配置的文件路径,例如:

    • 通过配置参数直接配置
    logger.SetLogger(`{"Console": {"level": "DEBG"}}`)
    • 通过配置文件配置
    logger.SetLogger("/home/log.json")
    
  • 相关阅读:
    CS229 6.4 Neurons Networks Autoencoders and Sparsity
    CS229 6.3 Neurons Networks Gradient Checking
    【Leetcode】【Easy】Min Stack
    【Leetcode】【Easy】Merge Sorted Array
    【Leetcode】【Easy】ZigZag Conversion
    【Leetcode】【Easy】Valid Palindrome
    【Leetcode】【Easy】Reverse Integer
    【Leetcode】【Easy】Palindrome Number
    【Leetcode】【Easy】Length of Last Word
    【Leetcode】【Easy】Remove Nth Node From End of List
  • 原文地址:https://www.cnblogs.com/-wenli/p/12328839.html
Copyright © 2011-2022 走看看