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!
参考
golang 写日志到syslog的更多相关文章
- Golang的日志处理
整个看了一圈下来,感觉Golang的日志包在管理多线程安全的情况下,提供了最小粒度的工具.并没有提供什么复杂的过滤器之类的生成. 实现了一个demo来记录一下日志分类日志打印等实现: package ...
- linux日志系统介绍 —— syslog(),openlog(),closelog()
函数使用介绍 这里面的三个函数openlog, syslog.closelog是一套系统日志写入接口.另外那个vsyslog和syslog功能一样,仅仅是參数格式不同. 通常.sysl ...
- .NET Core的日志[5]:利用TraceSource写日志
从微软推出第一个版本的.NET Framework的时候,就在“System.Diagnostics”命名空间中提供了Debug和Trace两个类帮助我们完成针对调试和跟踪信息的日志记录.在.NET ...
- [转]ASP.NET Core 开发-Logging 使用NLog 写日志文件
本文转自:http://www.cnblogs.com/Leo_wl/p/5561812.html ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 . ...
- Spring 使用 SLF4J代替 Commons Logging 写日志 异常
项目的日志更换成slf4j和logback后,发现项目无法启动.错误提示 Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/ ...
- 程序员的修养 -- 如何写日志(logging)
在程序中写日志是一件非常重要,但是很容易被开发人员忽视的地方.写好程序的日志可以帮助我们大大减轻后期维护压力. 在实际的工作中,开发人员往往迫于的巨大时间压力,而写日志又是一个非常繁琐的事情,往往 ...
- winston写日志(译)
使用 有两种方式去使用winston,直接通过默认的logger,或者实例化自己的Logger,前者设计的目的是在你的应用程序中共享logger比较方便. 使用默认Logger 使用默认的logger ...
- ASP.NET Core 开发-Logging 使用NLog 写日志文件
ASP.NET Core 开发-Logging 使用NLog 写日志文件. NLog 可以适用于 .NET Core 和 ASP.NET Core . ASP.NET Core已经内置了日志支持,可以 ...
- 2.2 代码块--delphi 写日志模块
//2.2 代码块--写日志 //调用例句如:LogMsg('FTP上传线程终止',False,true); procedure LogMsg(AMsg: string; const blnIsErr ...
随机推荐
- HDFS常用操作命令
启动hdfs#start-all.sh查看hdfs的配置文件#cat hdfs-site.sh#hadoop fs -put /soft/jdk /#HDFS上传文件命令查看上传后的文件属性#hado ...
- mysql创建外键注意事项
1,类型,长度相同,无符号 2,引擎必须为innodb 3,键名不能重复 关联动作 ON DELETE.ON UPDATE表示事件触发限制,可设参数: ① RESTRICT(限制外表中的外键改动,默认 ...
- 树状DP HDU1520 Anniversary party
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意:职员之间有上下级关系,每个职员有自己的happy值,越高在派对上就越能炒热气氛.但是必须是 ...
- Oracle的sql导入
sqlldr: 一般用于导入以任何后缀结束的文件,我这次就是因为要导入一张以.20160101为后缀的文件,当初简直束手无策 结合input.ctl使用,可以在DOS下使用,可以对一张表导入数十万,百 ...
- python--接口开发
一.接口开发需要用到flask类1.首先安装flask类:cmd--pip install flask2.导入flask类:import flask3.以下是用一个例子来说明: import flas ...
- 加密、签名和SSL握手机制细节
openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 1.1 背景知识 对称加密 :加密解密使用同一密钥,加解密速度快.随 ...
- JavaScript(ES6)学习笔记-Set和Map数据结构(一)
一.Set 1.ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. , , , , ']); s; // ...
- MapServer Tutorial——MapServer7.2.1教程学习——教程背景
MapServer Tutorial——MapServer7.2.1教程学习——教程背景 一.前言 目前处于MapServer学习入门阶段,所以每一步都需要打下扎实基础.尽自己最大的努力,去学习知识的 ...
- Shell 与正则表达式part1
1.什么是shell? shell代表两个层面的意思,一个是命令解释器,比如:BASH,另外一个是shell脚本(利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与 ...
- CCF关于NOIP竞赛程序提交的管理规则
在NOIP复赛中,NOI各省组织单位必须严格遵循CCF<关于NOIP数据提交格式的说明>的规范在竞赛结束后规定时间内向CCF提交本赛区所有参赛选手的程序. 为竞赛的公平以及赛后按时完成竞赛 ...