实现一个返回指针的函数

时间:2017-05-09 09:20:02

标签: pointers go syslog

我在golang应用程序中实现了syslog守护程序服务。我在主程序包中使用了syslog.New,但是现在,我想将它导出到另一个程序包。

package config

import (
    "log/syslog"
)

func LogBook() ? {
    sysLog, _ := syslog.New(syslog.LOG_LOCAL0|syslog.LOG_ERROR, "myapp") // syslog.New returns (*Writer, error)
    return ?
}

如何实现此功能? 之后,如何在其他包中使用此变量'sysLog'?

谢谢!

1 个答案:

答案 0 :(得分:2)

@Volker说,答案非常简单,

func LogBook() *syslog.Writer {
    sysLog, _ := syslog.New(syslog.LOG_LOCAL0|syslog.LOG_ERROR, "myapp")
    return sysLog
}

用法示例:

func main(){
    w := LogBook()
    w.Info("message")
}

请注意:

  • 此程序包未在Windows上实现。由于系统日志包已冻结,因此建议Windows用户使用标准库之外的包。有关背景信息,请参阅https://golang.org/issue/1108
  • 此计划未在计划9中实施。
  • 此程序包未在NaCl(Native Client)上实现。