提问人:riccio 提问时间:11/16/2023 更新时间:11/18/2023 访问量:32
c# Log4Net 未在 docker 中写入文件/控制台
c# Log4Net not writing file/console in docker
问:
我编写了一个 c# (.NET 6.0) 控制台应用程序,它是一个队列使用者,并将出列的消息写入日志文件。本地一切都很好,但是当我对应用程序进行 dockerize 时,我既看不到日志文件,也看不到控制台消息,即使该消息正确地从队列中确认。
这是带有 2 个 appender 的 log4net.config 文件
<log4net>
<root>
<level value="ALL" />
<appender-ref ref="FileAppender" />
<appender-ref ref="console" />
</root>
<appender name="console" type="log4net.Appender.ConsoleAppender">
<layout type="Elastic.CommonSchema.Log4net.EcsLayout, Elastic.CommonSchema.Log4net">
</layout>
</appender>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
<file value="C:\Users\t.domenici\source\repos\RabbitMqDemo\LogHandler\bin\Release\net6.0\Log\Log_" />
<lockingModel type="log4net.Appender.FileAppender+ExclusiveLock" />
<datePattern value="dd_MM_yyyy'.log'"/>
<appendToFile value="true" />
<rollingStyle value="Date" />
<staticLogFileName value="false"/>
<layout type="Elastic.CommonSchema.Log4net.EcsLayout, Elastic.CommonSchema.Log4net" />
</appender>
</log4net>
这里是用于创建绑定挂载的 docker 命令,该挂载已正确创建docker run -v C:/Users/********/source/repos/RabbitMqDemo/LogHandler/bin/Release/net6.0/Log:/app/LogHandler/Log -it --name LogHandler log-handler-image:1.0.0
提前致谢!
答:
评论
COPY {path to log4net.config} /app/LogHandler/
/app/LogHandler/Log