.net MAUI 最近在其最新版本之一中删除了日志记录。现在有什么替代方案以及应该如何实施?已经在网上查遍了,但找不到任何实现的日志架构的示例。尝试过log4net,NLog但最终没有成功设置其中任何一个。在线有 0 个用于在 MAUI 上设置任何日志记录的示例。
另外,在 MauiProgram 中看到了builder.Services.AddLogging()和builder.Logging.Services,它应该与依赖注入一起使用,但也找不到该实现的任何 Maui 示例。
现在应该如何在 MAUI 中设置基本日志记录?
我正在使用 docker-compose.yml 来启动我的服务。所有服务看起来都是这样的:
A-service:
image: A-service
restart: always
network_mode: host
logging:
driver: journald
options:
tag: "{{.ImageName}}/{{.Name}}/{{.ID}}"
fluent-bit:
image: 'bitnami/fluent-bit:latest'
restart: always
network_mode: host
command: /fluent-bit/bin/fluent-bit -c /fluent-bit/etc/fluent-bit.conf
volumes:
- ./service/config/fluent-bit.conf:/fluent-bit/etc/fluent-bit.conf
- type: bind
source: /run/log
target: /run/log
Run Code Online (Sandbox Code Playgroud)
当我运行时journalctl -e -f -u docker,我看到所有日志都被记录得很好。我遇到的问题是我的 fluid-bit 容器在从 systemd 收集时似乎无法获取任何数据:
fluent-bit.conf:
[SERVICE]
Flush 5
Daemon Off
Log_Level debug
[INPUT]
Name systemd
Tag *
[OUTPUT]
Name stdout
Match *
Run Code Online (Sandbox Code Playgroud)
我认为这可能是因为它位于容器中并且无法到达日志位置,但绑定目录/run/log:/run/log没有效果。
所以我的问题是:当日志位于容器内时,Fluent-bit 可以到达 systemd 并读取日志吗?如果是 - 我怎样才能实现这一目标?