xorm.NewSyslogLogger doesn't work #353

Closed
opened 2016-02-16 02:33:23 +00:00 by corvinusy · 12 comments
corvinusy commented 2016-02-16 02:33:23 +00:00 (Migrated from github.com)

Hello.
Problem: xorm syslogging doesn't write to system journal. All log messages still spam to console terminal.
Snippet:

    logWriter, err := syslog.New(syslog.LOG_DEBUG, "rest-xorm-example")
    if err != nil {
        log.Fatalf("Fail to create xorm system logger: %v\n", err)
    }
        s.engine.Logger = xorm.NewSyslogLogger(logWriter)
// next part with usual logger works fine
    // log.SetOutput(logWriter)
    // log.Println("hello rest-xorm-example")

Sources: github.com/corvinusy/rest-xorm-example

Testing environment:
Arch Linux: rolling
CPU: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz
uname -rm: 4.4.1-2-ARCH x86_64
go version: go version go1.6rc2 linux/amd64
xorm SQL backend: xorm.NewEngine("sqlite3", "/tmp/rest-xorm.sqlite.db")

Hello. Problem: xorm syslogging doesn't write to system journal. All log messages still spam to console terminal. Snippet: ``` go logWriter, err := syslog.New(syslog.LOG_DEBUG, "rest-xorm-example") if err != nil { log.Fatalf("Fail to create xorm system logger: %v\n", err) } s.engine.Logger = xorm.NewSyslogLogger(logWriter) // next part with usual logger works fine // log.SetOutput(logWriter) // log.Println("hello rest-xorm-example") ``` Sources: [github.com/corvinusy/rest-xorm-example](https://github.com/corvinusy/rest-xorm-example) Testing environment: Arch Linux: rolling CPU: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz uname -rm: 4.4.1-2-ARCH x86_64 go version: go version go1.6rc2 linux/amd64 xorm SQL backend: xorm.NewEngine("sqlite3", "/tmp/rest-xorm.sqlite.db")

I will check this issue.

I will check this issue.

Please use engine.SetLogger(logger) instead of engine.Logger = logger And I will change engine.Logger to engine.logger in next release.

Please use `engine.SetLogger(logger)` instead of `engine.Logger = logger` And I will change `engine.Logger` to `engine.logger` in next release.
corvinusy commented 2016-02-16 13:40:07 +00:00 (Migrated from github.com)

At this moment

engine.SetLogger(logger)

breaks build with error:
//// cannot use logWriter (type *syslog.Writer) as type core.ILogger in argument to s.engine.SetLogger: *syslog.Writer does not implement core.ILogger (wrong type for Debug method) have Debug(string) error want Debug(...interface {}) error

At this moment ``` go engine.SetLogger(logger) ``` breaks build with error: //// cannot use logWriter (type *syslog.Writer) as type core.ILogger in argument to s.engine.SetLogger: *syslog.Writer does not implement core.ILogger (wrong type for Debug method) have Debug(string) error want Debug(...interface {}) error

I mean

logWriter, err := syslog.New(syslog.LOG_DEBUG, "rest-xorm-example")
    if err != nil {
        log.Fatalf("Fail to create xorm system logger: %v\n", err)
    }
        s.engine.SetLogger(xorm.NewSyslogLogger(logWriter))

@corvinusy

I mean ``` Go logWriter, err := syslog.New(syslog.LOG_DEBUG, "rest-xorm-example") if err != nil { log.Fatalf("Fail to create xorm system logger: %v\n", err) } s.engine.SetLogger(xorm.NewSyslogLogger(logWriter)) ``` @corvinusy

OKay. I found that's my wrong. Just fix it. Please check again. @corvinusy

OKay. I found that's my wrong. Just fix it. Please check again. @corvinusy
corvinusy commented 2016-02-16 15:12:01 +00:00 (Migrated from github.com)

Build fixed. Log gone from terminal.
But I still haven't found xorm log messages in journal (only "hello")
May be I should look in deeper.

Build fixed. Log gone from terminal. But I still haven't found xorm log messages in journal (only "hello") May be I should look in deeper.

Yes, I just found it.

Yes, I just found it.

I found if I changed

logWriter, err := syslog.New(syslog.LOG_DEBUG, "rest-xorm-example")

to

logWriter, err := syslog.New(syslog.LOG_ERR, "rest-xorm-example")

The log will be ok. But I don't know the reason.
@corvinusy

I found if I changed ``` Go logWriter, err := syslog.New(syslog.LOG_DEBUG, "rest-xorm-example") ``` to ``` Go logWriter, err := syslog.New(syslog.LOG_ERR, "rest-xorm-example") ``` The log will be ok. But I don't know the reason. @corvinusy
corvinusy commented 2016-02-28 18:33:05 +00:00 (Migrated from github.com)

Hey, @lunny

I've updated my example github.com/corvinusy/rest-xorm-example so logging to syslog works fine.

It seems there is no necessity for exported 'SyslogLogger' any more.
And perhaps it should be properly documented.

Hey, @lunny I've updated my example [github.com/corvinusy/rest-xorm-example](https://github.com/corvinusy/rest-xorm-example) so logging to syslog works fine. It seems there is no necessity for exported 'SyslogLogger' any more. And perhaps it should be properly documented.

Yes, I think you are right. SyslogLogger will be deprecated.

Yes, I think you are right. `SyslogLogger` will be deprecated.
corvinusy commented 2016-02-29 17:18:26 +00:00 (Migrated from github.com)

So I think the issue has been solved.
Of course, you can use any part of mentioned example for your goals/docs.

So I think the issue has been solved. Of course, you can use any part of mentioned example for your goals/docs.

Thanks.

Thanks.
lunny referenced this issue from a commit 2020-03-09 02:52:44 +00:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: xorm/xorm#353
No description provided.