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")
    
  • 相关阅读:
    Mysql子查询、关联查询
    Mysql 注意细节
    IE和FF区别关于css和js
    php 使用curl模拟登录人人(校内)网
    解析php mysql 事务处理回滚操作
    《Linux内核设计的艺术》学习笔记(二)INT 0x13中断
    《Linux内核设计的艺术》学习笔记(一)从开机加电到加载三个汇编源码
    CSS笔记(一)CSS规则
    HTML笔记(七)head相关元素<base> & <meta>
    HTML笔记(六)文档类型
  • 原文地址:https://www.cnblogs.com/-wenli/p/12328839.html
Copyright © 2011-2022 走看看