Winston Logger - 排除日志记录到 syslog 以进行控制台传输
Winston Logger - Exclude logging to syslog for console Transport
我在 EC2 Redhat 上有一个节点应用程序 运行。
它正在记录到系统日志,并且日志变得太大了。
但是配置,没有定义任何系统日志传输。
const logger = createLogger({
// change level if in dev environment versus production
level: env === "development" ? "verbose" : "info",
format: format.combine(
format.timestamp({
format: "YYYY-MM-DD HH:mm:ss",
}),
format.printf((info) => `${info.timestamp} ${info.level}: ${info.message}`)
),
transports: [
new transports.Console({
level: "info",
format: format.combine(
format.colorize(),
format.printf(
(info) => `${info.timestamp} ${info.level}: ${info.message}`
)
),
}),
dailyRotateFileTransport,
],
})
有没有办法禁止日志记录到系统日志?理想情况下来自节点应用程序。但如果不是,则来自 syslog 配置本身。
您的应用正在登录到控制台。我假设该应用程序不是手动 运行,而是通过 systemd 配置并将其定向 stdout/stderr 到 journald 或将输出写入的任何地方。
这真的不是 Node/Winston 问题。您可以更改您的应用程序记录到的位置(切换到具有日志轮换的文件传输,并停止转储到控制台),减少您记录的数量(实际使用调试等......适当地使输出不会太大),或者先看看您的应用 运行 并仔细考虑(您是否希望 systemd 笨拙地为您处理日志记录?)
当然,我假设您正在使用 systemd,但控制台日志传输不会记录到系统日志,除非应用程序执行将 stdout/stderr 指向它,就像 systemd 那样。
以下是我为解决 EC2 上的 space 问题所做的工作。
设置 StandardOutput=null(以前默认设置为 journald,而不是来自服务文件)
现在它被设置为空。
服务器 - 避免 systemd 单元(服务)被记录在日志中 - 询问 Ubuntu
https://askubuntu.com/questions/1200680/avoid-systemd-unit-service-to-be-logged-in-journal
linux - 如何禁用 systemd 服务 start/stop 通知 - Unix & Linux Stack Exchange
https://unix.stackexchange.com/questions/547790/how-to-disable-systemd-service-start-stop-notifications#comment1016825_547817
我在 EC2 Redhat 上有一个节点应用程序 运行。 它正在记录到系统日志,并且日志变得太大了。 但是配置,没有定义任何系统日志传输。
const logger = createLogger({
// change level if in dev environment versus production
level: env === "development" ? "verbose" : "info",
format: format.combine(
format.timestamp({
format: "YYYY-MM-DD HH:mm:ss",
}),
format.printf((info) => `${info.timestamp} ${info.level}: ${info.message}`)
),
transports: [
new transports.Console({
level: "info",
format: format.combine(
format.colorize(),
format.printf(
(info) => `${info.timestamp} ${info.level}: ${info.message}`
)
),
}),
dailyRotateFileTransport,
],
})
有没有办法禁止日志记录到系统日志?理想情况下来自节点应用程序。但如果不是,则来自 syslog 配置本身。
您的应用正在登录到控制台。我假设该应用程序不是手动 运行,而是通过 systemd 配置并将其定向 stdout/stderr 到 journald 或将输出写入的任何地方。
这真的不是 Node/Winston 问题。您可以更改您的应用程序记录到的位置(切换到具有日志轮换的文件传输,并停止转储到控制台),减少您记录的数量(实际使用调试等......适当地使输出不会太大),或者先看看您的应用 运行 并仔细考虑(您是否希望 systemd 笨拙地为您处理日志记录?)
当然,我假设您正在使用 systemd,但控制台日志传输不会记录到系统日志,除非应用程序执行将 stdout/stderr 指向它,就像 systemd 那样。
以下是我为解决 EC2 上的 space 问题所做的工作。
设置 StandardOutput=null(以前默认设置为 journald,而不是来自服务文件) 现在它被设置为空。
服务器 - 避免 systemd 单元(服务)被记录在日志中 - 询问 Ubuntu https://askubuntu.com/questions/1200680/avoid-systemd-unit-service-to-be-logged-in-journal
linux - 如何禁用 systemd 服务 start/stop 通知 - Unix & Linux Stack Exchange https://unix.stackexchange.com/questions/547790/how-to-disable-systemd-service-start-stop-notifications#comment1016825_547817