gpt4 book ai didi

logging - Dart如何更改服务器记录器的日期格式

转载 作者:行者123 更新时间:2023-12-03 03:28:06 24 4
gpt4 key购买 nike

我今天使用默认值在服务器端代码中实现了登录,但是输出字符串的日期部分有分钟,应该是月份。记录到日志文件的是:

2014.49.19 13:49:54.079 fireimager_server.WebSocketServer   [INFO]: [CLIENT] CAMERA CAMERAREADY
2014.49.19 13:49:54.081 fireimager_server.WebSocketServer [INFO]: [CLIENT] RESET Finished
2014.50.19 13:50:05.447 fireimager_server.WebSocketServer [INFO]: [CLIENT] DOOR OPEN

看来日期时间格式字符串(无论在哪里)可能看起来像:
"yyyy.mm.dd HH:mm:ss.SSS"

而不是
"yyyy.MM.dd HH:mm:ss.SSS"

一些代码
import 'package:logging/logging.dart';
import 'package:logging_handlers/server_logging_handlers.dart';

// in main

Logger.root.onRecord.listen(new SyncFileLoggingHandler("/data/airbornescience/logs/server.log"));

// in Class MicroServer
static final _logger = new Logger("fireimager_server.MicroServer");

我如何向记录仪提供自己的日期时间,或者可以用其他方式解决?

最佳答案

您可以将StringTransformer传递给SyncFileLoggingHandler构造函数:

var trans = new StringTransformer(timestampFormat: "yyyy.MM.dd HH:mm:ss.SSS");

Logger.root.onRecord.listen(new SyncFileLoggingHandler(
'/data/airbornescience/logs/server.log', transformer: trans));

编辑:这似乎是 logging_handlers包的已知错误;有一个待解决的 pull request (#8)会解决它。

关于logging - Dart如何更改服务器记录器的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25393245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com