3 回答

TA贡献1851条经验 获得超5个赞
你log4net.config
是对的。
确保:
该
Copy to Output Directory
物业的的log4net.config
文件设置为Copy Always
。这很重要,因为在构建和运行应用程序时,需要将配置文件复制到bin文件夹中。通过右键单击配置文件并选择来执行此操作Properties
。然后将Copy to Output Directory
属性的值设置为Copy Always
。您告诉log4net加载您的配置。实现此目的的一种方法是在
AssemblyInfo
文件底部添加以下行:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config")]

TA贡献1772条经验 获得超5个赞
试试这个方法。您必须将其命名为ColoredConsoleAppender而不是ConsoleAppender。希望它能正常工作。
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<file value="log.txt" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
<mapping>
<level value="ERROR"/>
<foreColor value="Red"/>
</mapping>
<mapping>
<level value="INFO"/>
<foreColor value="White"/>
</mapping>
<mapping>
<level value="DEBUG"/>
<foreColor value="Green"/>
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message%newline"/>
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger - %message%newline"/>
</layout>
</appender>
<root>
<priority value="ALL"/>
<appender-ref ref="FileAppender"/>
<appender-ref ref="ColoredConsoleAppender"/>
</root>

TA贡献1765条经验 获得超5个赞
看起来像是我之前从未注意到的VS 2017的新功能。
以前,只有通过“添加引用”或“ NuGet软件包管理器”手动添加了相应的组件时,才能解析名称空间。
在VS 2017中,当您尝试解析名称空间时,它实际上为您安装了这些软件包。就像我这样,这可能很方便,但也很令人沮丧。
不知道为什么,但是VS决定包括此Common.Logging和Common.Logging.Core软件包,而不是我的解决方案中已经包含的log4net。可能我盲目地信任,并且没有注意到这些软件包与我想使用的库无关。奇怪的是,代码编译就很好了:)
因此,这就是代码无法正常工作的原因。意识到。
- 3 回答
- 0 关注
- 345 浏览
添加回答
举报