• golang 写日志到syslog


    应用程序可以通过 UNIX domain sockets, UDP or TCP,向syslog守护进程发送日志。syslog守护进程可以在远端。
    这样,就可以不用单独收集应用程序的日志了。

    golang提供了syslog 包,只需要调用Dial(),就可以连接syslog服务器,然后发送消息。
    在写失败的情况下,syslog client会尝试重连syslog服务器,并重写。

    Dial定义如下

    func Dial(network, raddr string, priority Priority, tag string) (*Writer, error)
    

    Dial 建立一个到log守护进程的连接,这个守护进程的地址由参数raddr指定,连接方式由参数network定义(可以为tcp, udp,或空)。

    如果network是空,Dial会连接到本地的syslog服务器。

    下面简单举例说明。

    package main
    
    import (
            "log"
            "log/syslog"
    )
    
    func main() {
            sysLog, err := syslog.Dial("", "",syslog.LOG_ERR, "Saturday")
            if err != nil {
                    log.Fatal(err)
            }
           
            sysLog.Emerg("Hello world!")
    }
    

    程序执行后,查看/var/log/system.log文件,可以看到最新的一条日志内容如下:

    Feb 16 20:52:44 admin Saturday[86161]: Hello world!

    参考

    syslog

  • 相关阅读:
    delphi datetimepicker 修改时间无效问题
    C#写入文件
    C# winform中listview排序
    C/C++,python,java,C#月经贴问题
    Redis Sentinel 原理简单介绍
    JVM垃圾收集 知识汇总
    Java HotSpot VM Options
    Spring三级缓存解决循环依赖
    Markdown基础用法
    join示例分析
  • 原文地址:https://www.cnblogs.com/lanyangsh/p/10389273.html
Copyright © 2020-2023  润新知