zoukankan      html  css  js  c++  java
  • log.go 源码阅读

    package main

    import (
        "github.com/Sirupsen/logrus"
        "os"
        "path/filepath"
    )

    func initLogger() error {
        dirPath, _ := filepath.Abs(filepath.Dir(pConfig.Log.Path))  //获取日志文件目录
        if _, err := os.Stat(dirPath); os.IsNotExist(err) {  //检查目录是否存在
            os.Mkdir(dirPath, 0775)  //创建目录  存在潜在bug
        }

        file, err := os.OpenFile(pConfig.Log.Path, os.O_APPEND|os.O_CREATE|os.O_RDWR, 0666) //打开文件  权限:文件追加 文件创建  文件读写

        if err != nil {
            return err
        }

        level, err := logrus.ParseLevel(pConfig.Log.Level)  //设置日志级别
        if err != nil {
            return err
        }

        pLog = &logrus.Logger{
            Out:       file,   //日志问价输出位置
            Level:     level,  //日志级别
            Formatter: new(logrus.JSONFormatter),  //日志输出格式
        }

        pLog.Infof("InitLogger: path: %s, level: %s, formatter: json", pConfig.Log.Path, level)

        return nil
    }
  • 相关阅读:
    Linux下c开发 之 线程通信(转)
    mount -t nfs 的使用
    window共享linux下的文件 samba
    C/C++ 的使用
    php获取格式时间和时间戳
    php压缩文件夹
    php递归删除文件夹
    php生成文件夹(递归生成)
    QQ音乐API分析记录
    $(this)与this的区别
  • 原文地址:https://www.cnblogs.com/zhangboyu/p/7461933.html
Copyright © 2011-2022 走看看