You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by vo...@apache.org on 2020/10/19 12:11:54 UTC
[rocketmq-client-go] branch master updated: support set log output
path (#508)
This is an automated email from the ASF dual-hosted git repository.
vongosling pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-client-go.git
The following commit(s) were added to refs/heads/master by this push:
new 2a65561 support set log output path (#508)
2a65561 is described below
commit 2a6556176df6c4c7b3bc6cc1c7267660e39c6a0f
Author: Klaus <su...@gmail.com>
AuthorDate: Mon Oct 19 20:11:47 2020 +0800
support set log output path (#508)
* support set log output path
* err return definition.
Co-authored-by: John Sun <su...@styd.cn>
---
rlog/log.go | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/rlog/log.go b/rlog/log.go
index 444ec3f..3e3dfd3 100644
--- a/rlog/log.go
+++ b/rlog/log.go
@@ -42,6 +42,7 @@ type Logger interface {
Error(msg string, fields map[string]interface{})
Fatal(msg string, fields map[string]interface{})
Level(level string)
+ OutputPath(path string) (err error)
}
func init() {
@@ -102,6 +103,7 @@ func (l *defaultLogger) Fatal(msg string, fields map[string]interface{}) {
}
l.logger.WithFields(fields).Fatal(msg)
}
+
func (l *defaultLogger) Level(level string) {
switch strings.ToLower(level) {
case "debug":
@@ -115,6 +117,17 @@ func (l *defaultLogger) Level(level string) {
}
}
+func (l *defaultLogger) OutputPath(path string) (err error) {
+ var file *os.File
+ file, err = os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
+ if err != nil {
+ return
+ }
+
+ l.logger.Out = file
+ return
+}
+
// SetLogger use specified logger user customized, in general, we suggest user to replace the default logger with specified
func SetLogger(logger Logger) {
rLog = logger
@@ -126,6 +139,14 @@ func SetLogLevel(level string) {
rLog.Level(level)
}
+func SetOutputPath(path string) (err error) {
+ if "" == path {
+ return
+ }
+
+ return rLog.OutputPath(path)
+}
+
func Debug(msg string, fields map[string]interface{}) {
rLog.Debug(msg, fields)
}