zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    netty ByteToMessageDecoder 分析
    netty 编/解码处理
    MAC 入门
    netty 学习
    php ioc and web rest design
    spring 启动流程
    淘宝美衣人
    ecslipe cdt lib link
    阿里巴巴中间件团队招人了!
    架构师速成-架构目标之伸缩性安全性
  • 原文地址:https://www.cnblogs.com/lanyangsh/p/10389273.html
Copyright © 2011-2022 走看看