nextjs 项目, docker 容器部署,有什么简单的持久化日志的方案吗

263 天前
 rizon

我是用的 dockercompose 部署的,每次 docker up 都会重新创建镜像,日志自然也删除了。

项目的启动命令是:node server.js , 这种情况下,有什么简单的日志持久化的方法啊。

3780 次点击
所在节点    程序员
29 条回复
rocmax
262 天前
@rocmax 当然这根容器外部收集方案不冲突
dudubaba
262 天前
@rizon nestjs 用的比较多的是这个 https://www.npmjs.com/package/winston ,搜一下有很多集成案例。
rizon
262 天前
@rocmax #20 打算换成 @rocmax #13 推荐的这个 pino
rizon
262 天前
@rizon #23
@dudubaba #22 这个库也不错啊,我看看这个
rocmax
262 天前
@rizon Winston 是老牌 log 库了,服务器端使用没问题。
nextjs 使用的话有一个问题是 Winston 依赖于 node 环境,nextjs 的 middleware 运行在 edge 环境
rizon
262 天前
@rocmax #25 我是自己服务器托管运行的,倒是没有这个问题,但是你这到提醒我了,nextjs 项目里还有跑在客户端的代码,我日志配置起来有些麻烦,还要分开服务端和客户端写代码,一不小心就写错了。 所以该日志库似乎也不是个好的方案
rocmax
262 天前
myon
261 天前
用 pm2 启服务,docker 映射 pm2 日志目录
zhufpy
255 天前
@rizon docker run 加上--log-driver=json-file 然后 node server..js 2>&1 > run.log 这样 docker 的 logs 命令应该也能查看这个日志了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1019450

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX