gpt4 book ai didi

c# - 每个项目 C# 的 log4net 配置

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:36 25 4
gpt4 key购买 nike

我有 3 个类库项目(ClassLib1.dll、ClassLib2.dll、ClassLib3.dll)。一个 Windows 服务项目。 WindowsService1。

网络日志是为 Windows 服务项目配置的,log4net 在配置文件中为

    <log4net> 
<root>
<level value="all" />
<appender-ref ref="RollingLogFileAppender" />
</root>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<file value="C:\\XX\\Logs\\{App_Name}\\{App_Name_Log_File_}" />
<countDirection value="1" />
<datePattern value="yyyyMMdd'.log'" />
<staticLogFileName value="false" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%utcdate{yyyy-MM-dd HH:mm:ss,fff} %-level [%thread] [%M %C] - %message%newline" />
</layout>
</appender>
</log4net>

Windows 服务指的是调用 3 个类库项目。我如何为这 3 个类库配置 log4 net,以便我可以在单独的文件夹中拥有一个日志文件,如下所示?

对于主窗口服务C:\XX\Logs\Win_Servive\Win_Service_Log_File_.log对于类库 1C:\XX\Logs\ClassLib1\ClassLib1_Log_File_.log对于 Class Lib 2C:\XX\Logs\ClassLib2\ClassLib2_Log_File_.log对于第 3 类C:\XX\Logs\ClassLib3\ClassLib3_Log_File_.log

最佳答案

您可以通过在 web.config 文件上配置三个不同的附加程序,然后按名称加载三个不同的记录器来实现此目的:

 <appender name="Class1Appender" type="log4net.Appender.RollingFileAppender" additivity="false">....</appender>
<appender name="Class2Appender" type="log4net.Appender.RollingFileAppender" additivity="false">....</appender>
<appender name="Class3Appender" type="log4net.Appender.RollingFileAppender" additivity="false">....</appender>

然后使用适当的记录器:

ILog class1Log = LogManager.GetLogger("Class1Appender");
ILog class2Log = LogManager.GetLogger("Class2Appender");
ILog class3Log = LogManager.GetLogger("Class3Appender");

关于c# - 每个项目 C# 的 log4net 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44186631/

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