nest框架中使用pino,无法将日志写入到本地文件
checkOrCreate(config.log); const streams = [ { stream: fs.createWriteStream(this.logPath, { flags: 'a+', }), }, { stream: process.stdout }, ]; this.logger = pino({}, pino.multistream(streams));
这里用的pino,checkOrCreate回确保日志文件已创建,但是后续日志打印无法写入到文件中
LoggerModule.forRoot({ pinoHttp: { transport: { targets: [ { target: 'pino-pretty', options: { colorize: true, }, }, { target: 'pino-roll', options: { level: 'info', file: join('/var/log/', 'blog-event.log'), frequency: 'daily', size: '10m', mkdir: true, }, }, ], }, },
这是另外一种尝试,使用的是import { LoggerModule } from 'nestjs-pino';
这里pino-pretty可以在控制台中输出打印,但是pino-roll依然无法写入文件
已确定写入权限是给了的
无法将日志写入本地文件的问题可能由多个原因引起。由于你提供了代码和描述,以下是一些可能的原因以及如何解决它们:
/var/log/
是正确的,并且应用程序有足够的权限在该目录下创建和写入文件。/var/log/
目录。fs.createWriteStream
已经被其他地方占用或打开,则可能导致无法写入。info
)与你在代码中打印的日志级别相匹配或更低。如果日志级别设置得太高(如 error
),那么 info
级别的日志就不会被记录。nestjs-pino
),请确保它是最新版本,并且没有已知的 bug。LoggerModule.forRoot
中配置了另一个流。这可能会导致冲突或混淆。为了解决这个问题,你可以尝试以下步骤:
fs.createWriteStream
写入一个文件,看看是否可以成功。如果上述步骤都不能解决问题,你可能需要提供更多的信息,如完整的错误消息、更详细的代码片段以及你的运行环境(操作系统、Node.js 版本等),以便进行更深入的分析。
我试图写一个日志文件使用slf4j与log4j.我可以看到控制台中的日志。但它没有写入日志文件 这是我的log4js属性文件 我已经包括了slf4j-api-1.7。5.jar,slf4j-log4j12-1.7。5和log4j-1.2。8.jar在我的类路径中。 我用下面的方法写日志。 任何帮助我都将不胜感激。谢谢
在HDFS中写入日志文件的最佳方式是什么?我正在尝试配置Apache Flume,并尝试配置能够为我提供数据可靠性的源。我试图配置“exec”,后来也查看了“spooldir”,但flume.apache上的以下文档。org对我的意图表示怀疑- 执行来源: 最常请求的功能之一是像“tail -F file_name”这样的用例,其中应用程序写入磁盘上的日志文件,Flume 尾随文件,将每一行作为事
问题内容: 好的,这是我设置所有内容的代码: 发生的是 error.log被创建 没有写任何东西 尽管未添加StreamHandler并将debug设置为false,但我仍然将所有内容都添加到STDOUT中(这可能是正确的,但仍然看起来很奇怪) 我是完全离开这里还是发生了什么事? 问题答案: 为什么不这样做呢? 如果现在启动应用程序,你将看到error.log包含: 有关更多信息,请访问http:
我正在Servlet 3.0和Tomcat中做一个简单的演示项目 我接受邮递员的JSON请求并提供JSON响应。 现在我也想在我的项目中做日志记录。 所以我使用log4j2 罐子使用:- log4j-1.2.12.jar, jackson-databind-2.6.3.jar, jackson-core-2.6.3.jar Servlet代码:- 我的项目目录:- 我的log4j。xml 当我在e
我创建了以下groovy脚本,以展示如何使用简单的注释将日志字段注入我们的类 当我运行groovy脚本时,我得到以下结果(在GROOVY CONSOLE上) 请告知我们如何将结果打印到WIN机器中的日志文件中,以及需要向groovy脚本中添加什么才能启用它? 例如: 日志文件 C: \程序文件\日志\我的。非常棒。日志 (应包含结果:)
我决定使用slf4j而不是Java自己的日志记录。我已经成功地使用SLF4J登录到控制台。但我不知道如何将其写入日志文件。日志文件将帮助我们收集运行时可能出现的错误。 我通过这样做来实现slf4j, 私有静态最终org.slf4j.LOGGER LOGGER=org.slf4j.loggerfactory.getlogger(class1.class); PropertyConfigurator.