问题标签 [logrus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
60 浏览

go - 服务器中通常如何处理上下文取消错误?

由于取消请求,我收到了很多关于上下文取消错误的日志,通常如何处理?因为记录每个取消的请求听起来不合理,我想避免在任何可能出现的错误处进行显式检查!

我正在使用 logrus 进行日志记录,有没有办法跳过记录特定错误?在这种情况下,上下文取消错误。

0 投票
1 回答
360 浏览

go - runtime.Callers 根据运行的位置打印不同的程序计数器

我有下面的代码,它根据运行的位置打印不同的程序计数器值。

代码:

  1. 运行 usinggo run或编译的二进制文件时,它会打印 ( main.baris missing)
  1. 从 Visual Studio Code 运行代码时(仅在调试模式下,它工作正常)
  1. Playground中运行时,( foo, bar, 两者都缺失)

我正在使用一个框架(logrus),它依赖于 PC 的顺序来执行一些操作(记录文件名)。
由于 PC 值会根据其运行位置不断变化,因此它在调试模式下工作,但在使用go run或编译的二进制文件运行时会失败。

知道是什么导致 PC 加载不同吗?任何正在启动的配置或优化?

0 投票
1 回答
516 浏览

go - Logrus 根据需要与 syslog 挂钩

我正在使用 golang logrus进行日志记录,并且我有一个包含所有常规函数的包装器,例如Info(..)Infof(..)等等我想实现一个Audit(..)用于记录到 syslog 的包装器函数。我注意到 logrus syslog 挂钩的问题是,一旦它被挂钩,每个日志函数都会记录到 syslog,Infof(..)我也不希望它们这样做。

有没有办法可以按需调用 syslog?以外:

谢谢

0 投票
1 回答
225 浏览

go - 是否可以编写测试来测试记录的键的顺序

Logrus 按字母顺序记录键,这是我想要和需要的,但我想编写一个测试以确保它不会更改,我尝试添加挂钩,但我认为我无法使用自定义访问完整日志我添加的上下文我WithFields只能获取消息记录示例

我想测试message之前t在输出中出现的内容

0 投票
0 回答
196 浏览

logrus - 使用 logrus 作为标准库日志的 io.writer

知道为什么我没有从以下代码中看到任何日志记录。

为了查看日志记录,我需要在代码末尾添加一个睡眠。

知道为什么吗?

0 投票
1 回答
221 浏览

go - 使用 Logs 或 cobra.Command Println 获取用户反馈?

Spf13/cobra 命令提供了许多优雅的工具来向用户提供反馈。我有更多使用 Python/headless 服务的经验,其中标准是使用日志库,然后在必要时重定向到 stdio。

然而,我对眼镜蛇的探索越多,感觉这条路就走错了。相反,我觉得我应该通过 cobra 发送所有内容,并从该缓冲区中挑选应该记录的内容。

这里有任何惯用的指导吗?

0 投票
1 回答
54 浏览

go - 日志打印不同的输出

我的日志消息的输出有问题。我正在使用logrus。

我正在使用 VS Code 进行开发,当我调试代码时,日志输出为:

但是当我运行应用程序可执行文件或使用go run main.go时,输出是:

我想要第一个输出。

怎么了?

编辑:

我们需要按照logrus github中的说明设置格式化程序。

0 投票
0 回答
165 浏览

http - 记录 HTTP 端点和有效负载 GRPC

我想在 grpc 上使用 Logrus 记录我的有效负载。我已经使用 grpc_middleware 制作了它,但日志格式不是我想要的。我*logrus.Logger用作logrus.NewEntry()代码的参数是这样的:

上述代码的日志输出如下:

我希望它是这样的 JSON 格式,显示 http url:

我还想记录它已经在 proto 中定义的 http 端点

其实我希望它是这样的:

0 投票
0 回答
196 浏览

go - 围绕 logrus 创建一个包装器接口

我正在尝试围绕logrus. 为此,我定义了以下内容

现在在一个单独的方法中,我有以下

但是我收到以下编译错误

从错误中可以看出,它withFields是引发错误的方法,特别是返回类型。但是*github.com/sirupsen/logrus.Entry接口中的所有方法testconcepts/util.Logger

我不确定它为什么会抛出这个编译错误。

0 投票
1 回答
70 浏览

go - 指向特定日志级别的 Logrus 记录器指针

我正在使用 MQTT paho 库,它有自己的记录器接口,由 logrus 记录器实现,paho 库有多个级别:ERROR、CRITICAL 等。我试图做这样的事情:

但这不会记录,因为你不能有一个名为 level 的字段,如果你不添加 level,它总是进入 info 级别,因为 entry.Print 是在里面做 log.Info 的实现,有没有办法传递一个指针到具有相应日志级别的 logrus 记录器,而无需围绕它创建新的包装器。

我知道它可以通过新包来完成,该包将实现 mqtt.Logger,其中的函数将在内部调用 log.Error。但我觉得应该有更好的方法来做到这一点。