码迷,mamicode.com
首页 > 其他好文 > 详细

有意思的代码--利用系统信号切换日志模式

时间:2015-07-30 18:55:56      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:

看到Kite里面的源码,有段代码挺有意思。

上代码先:


//
SetupSignalHandler listens to signals and toggles the log level to DEBUG // mode when it received a SIGUSR2 signal. Another SIGUSR2 toggles the log // level back to the old level. func (k *Kite) SetupSignalHandler() { c := make(chan os.Signal, 1) signal.Notify(c, syscall.SIGUSR2) go func() { for s := range c { k.Log.Info("Got signal: %s", s) if debugMode { // toogle back to old settings. k.Log.Info("Disabling debug mode") if k.SetLogLevel == nil { k.Log.Error("SetLogLevel is not defined") continue } k.SetLogLevel(getLogLevel()) debugMode = false } else { k.Log.Info("Enabling debug mode") if k.SetLogLevel == nil { k.Log.Error("SetLogLevel is not defined") continue } k.SetLogLevel(DEBUG) debugMode = true } } }() }

可以通过给正在运行的程序,切换日志模式。

举一反三,可以利用这个方式,来做很多开关切换。

 

有意思的代码--利用系统信号切换日志模式

标签:

原文地址:http://www.cnblogs.com/zhangqingping/p/4690073.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!