[英]log4net Colored Console Appender issue
我正在使用 log4net 庫在我的控制台上顯示日志,當我在調試模式下運行應用程序時,我能夠在控制台上顯示日志,但是當我通過 cmd 運行控制台時,它沒有在控制台上顯示日志。
XML 配置:
<?xml version="1.0" encoding="utf-8"?>
<log4net>
<appender name="RollingFile" type="AutoLogger.FileAppender">
<file type="log4net.Util.PatternString" value="%property{LogFileName}" />
<appendToFile value="true" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<maximumFileSize value="200MB" />
<maxSizeRollBackups value="-1" />
<datePattern value="dd.MM.yyyy'.log'" />
<layout type="AutoLogger.TestcasePatternLayout, AutoLogger">
<conversionPattern value="%level %date %testcase %message (%logger)%newline" />
<param name="Header" value="[TEST START]
" />
<param name="Footer" value="[TEST END]
" />
</layout>
</appender>
<appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender">
<mapping>
<level value="ERROR" />
<foreColor value="White" />
<backColor value="Red" />
</mapping>
<mapping>
<level value="WARN" />
<foreColor value="Yellow" />
</mapping>
<mapping>
<level value="FATAL" />
<foreColor value="White" />
<backColor value="Red, HighIntensity" />
</mapping>
<layout type="AutoLogger.TestcasePatternLayout, AutoLogger">
<conversionPattern value="%level %testcase %message %newline" />
</layout>
</appender>
<root>
<priority value="ALL" />
<appender-ref ref="ColoredConsoleAppender" />
<appender-ref ref="RollingFile" />
</root>
</log4net>
我懷疑我認識這個...
您發布了一些 log4net 的 XML 配置,但有一個重要的信息您沒有提及。 如果您的目標是 dotnet 核心,我可以幫助您。 如果您仍然以 dontnet 框架為目標,那么我只能建議您返回並仔細檢查所有在線教程。 我多年來一直在 dontnet 框架下使用 log4net 彩色控制台附加程序,沒有失敗,它工作得很好。
關於主要事件:如果您正在使用 dotnet 核心應用程序,則所有其他 log4net 附加程序都可以正常工作,無需對已發布的文檔和教程進行任何更改。 但是,出於某種原因,需要更改彩色控制台附加程序。 我在互聯網上進行了大量挖掘后挖掘了這個:
<appender name="ColoredConsoleAppender" type="log4net.Appender.ManagedColoredConsoleAppender">
<threshold value="ALL" />
<mapping>
<level value="FATAL" />
<foreColor value="Magenta" />
</mapping>
<mapping>
<level value="ERROR" />
<foreColor value="Red" />
</mapping>
<mapping>
<level value="WARN" />
<foreColor value="Yellow" />
</mapping>
<mapping>
<level value="INFO" />
<foreColor value="Green" />
</mapping>
<mapping>
<level value="DEBUG" />
<foreColor value="Cyan" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ColoredConsoleAppender" />
</root>
只需像添加任何其他 appender 一樣將其添加到您的配置文件中,它就可以正常工作。
加分! 想要定義自己的顏色集? 您不能使用來自原始彩色控制台附加程序的顏色名稱,它會損壞。 以下是對 ManagedColoredConsoleAppender 合法的枚舉值的鏈接:
https://docs.microsoft.com/en-us/dotnet/api/system.consolecolor?redirectedfrom=MSDN&view=net-5.0
願您所有記錄的事件都是綠色的!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.