zoukankan      html  css  js  c++  java
  • syslog的坑

    先看看代码:

    g_log, err := syslog.NewLogger(syslog.LOG_INFO, 0)

    再看看syslog的源码:

    // NewLogger creates a log.Logger whose output is written to the
    // system log service with the specified priority, a combination of
    // the syslog facility and severity. The logFlag argument is the flag
    // set passed through to log.New to create the Logger.
    func NewLogger(p Priority, logFlag int) (*log.Logger, error) {
        s, err := New(p, "")
        if err != nil {
            return nil, err
        }
        return log.New(s, "", logFlag), nil
    }

    按理说这么使用是没错的,但是在Windows环境下编译的时候就会抛出:

    .demo80.go:14:15: undefined: syslog.NewLogger
    .demo80.go:14:32: undefined: syslog.LOG_INFO

    这就不对了,明明是有的,但是却抛出未定义的错误。

    那我们试试在Linux环境下编译会怎样:

    root@iZwz9hojvn6vym3t4ua045Z:/home/TimLiu/go/src/GolangTraining/SyslogTraining# go build
    root@iZwz9hojvn6vym3t4ua045Z:/home/TimLiu/go/src/GolangTraining/SyslogTraining# 

    没有错误抛出,那就说明这个syslog包的问题

    在Windows环境下编写代码时慎重使用

  • 相关阅读:
    动态内存开辟(一)
    结构体,联合体,枚举,typedef
    练习使用C++的string类
    WIN10 + Qt 5.14(MSVC 2017,32bit) + APP项目(minGW-7.3.0 32bit)+glog
    扫雷游戏
    最小栈实现
    快速排序算法
    c++语句(循环)
    C++ 存储类
    C++ 运算符
  • 原文地址:https://www.cnblogs.com/TimLiuDream/p/10075304.html
Copyright © 2011-2022 走看看