问题标签 [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 投票
1 回答
467 浏览

go - 如何将 logrus 的输出存储到某个变量?

这是将输入的值转换为 JSON 格式的代码。它显示了正确的输出,但我想存储该输出并使用它返回fmt.Printf

0 投票
1 回答
77 浏览

go - 有没有办法在 io.multiwriter 中附加时间戳?

我正在处理 go 中生成的日志。使用 io.multiwriter 将内容打印到标准输出和日志文件log := io.MultiWriter(os.Stdout, logfile)。我想为 os.Stdout 和日志文件添加时间戳。

我的方法是写一个写函数

但是,它不会在标准输出和日志文件中生成时间戳。有谁知道是否有另一种方法可以做到这一点?

0 投票
2 回答
572 浏览

go - 在 logrus 日志记录中使用 struct 代替 map

我正在使用logrus包来登录 Go 项目。为了在日志中显示键值对,文档给出了以下格式:

我不想在每个日志中手动使用字符串键,而是希望在所有日志中使用一个通用结构(以避免键中出现拼写错误的机会)。

像这样的东西:

日志输出应为:

如何实施?

谢谢你的帮助 !

0 投票
3 回答
276 浏览

go - 如何在 macOS 上的 logrus/lumberjack 中自动重新创建日志文件

我在 macOS 上使用logruslumberjack作为日志文件。

当我启动我的应用程序时,它将按预期创建日志文件。
但是,当我的应用程序运行时,我手动删除了日志文件,因为我的应用程序继续运行,我希望它会重新创建日志文件,但是,日志文件没有创建。
但是如果我重新启动我的应用程序,将再次创建日志文件。
那么我应该怎么做才能让我的应用程序(继续运行)在删除日志文件时重新创建和写入日志文件。

提前致谢。

0 投票
1 回答
33 浏览

go - 是否应该在单独的 goroutine 中启动使用 logrus 记录大量 JSON 数据?

我需要在 Web 请求处理程序中记录相对繁重的 JSON 数据。logrus 是否使用阻塞 I/O?我应该logger.WithFields(fields).Info(heavy_message)在单独的 goroutine 中调用吗?

0 投票
1 回答
185 浏览

go - Golang 项目的每日日志轮换

我正在使用logrus包进行日志记录。想要每天轮换日志。

我已经探索了像伐木工人logrotate(8)这样的选项

但是伐木工人根据日志文件的大小提供日志轮换。不确定是否有任何方法可以让它每天轮换日志。

对于 logrotate,我将不得不在系统级别创建一个单独的配置,我想避免这样做,因为必须照顾两个不同的事情,并且可扩展性将成为一个问题。不确定我们如何仅通过在项目级别创建配置或其他更好的方法来使用它。

那么有没有办法在 Golang 中每天进行日志轮换?

0 投票
1 回答
99 浏览

go - 仅将自定义字段添加到 logrus 中的错误日志

我正在使用logrus登录golang。我使用以下语句进行日志记录。

我的要求是仅在Errorf具有以下约束的语句中具有自定义字段(严重性)。

  1. 如果在日志语句中指定(例如:)logrus.WithField("severity", "critical").Errorf("Error message"),它应该打印指定的值,如下所示。
  1. 如果未指定,则应打印默认值。例如 this( logger.Errorf("Error message")) 日志语句应打印以下内容。

注意:这应该只发生在Errorf语句上,这意味着其他人应该正常工作。

有人可以建议我实现这一目标的方法吗?

0 投票
1 回答
45 浏览

go - aws-sdk-go-v2 自定义记录器

使用 SDK 的 v1,我可以将 logrus 用于我的自定义记录器,例如:

这已随 sdk v2 改变,https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/logging/

看来我需要按照https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config#WithLogger使用 logging.logger

我很难为此目的使用 logrus,有人可以建议我在这里需要做什么吗?