我怎樣纔能有一個記錄器,我用GetLogger()
方法得到,同時記錄到文件和富文本框?同一個記錄器登錄多個目的地?
0
A
回答
0
一種方法是使用IoC容器。只需定義一個接口,然後根據該接口定義記錄器類。然後可以根據需要創建或注入他們的其他課程。
0
您的nlog配置定義彼此獨立的規則和目標。您的要求是有2個目標,一個文件記錄器和一些其他記錄器,在文本框中顯示您的日誌條目。您只需在您的nlog配置中添加兩條規則即可將您的日誌條目定向到這兩個目標。
這將是一個示例nlog.config,它將所有日誌條目記錄到兩個不同的目標。您可以爲各個日誌規則設置不同的minLevel。第一個目標是一個簡單的文件記錄器,另一個目標是一個MethodCall目標,該目標使用日誌參數調用靜態方法。查看nlog documentation瞭解所有可用目標和更多文檔。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
</configSections>
<nlog>
<targets>
<target name="toFile" type="File"
layout="${longdate} ${level} [${threadid}] - ${callsite}: ${message} ${onexception:${newline}Ausnahme\:${exception:format=tostring}}"
fileName="${basedir}/log.txt"
archiveFileName="${basedir}/log.{#####}.txt"
archiveAboveSize="1024000"
archiveNumbering="Sequence"
concurrentWrites="true"
keepFileOpen="false"
maxArchiveFiles="3"
/>
<target xsi:type="MethodCall"
name="toRichTextBox"
methodName="String"
className="String">
<parameter layout="Layout" name="String" type="System.Type"/><!-- repeated -->
</target>
</targets>
<rules>
<logger name="*" minlevel="Warn" writeTo="toFile" />
<logger name="*" minlevel="Warn" writeTo="toRichTextBox" />
</rules>
</nlog>
</configuration>
相關問題
- 1. Python使用同一個記錄器記錄多個文件
- 2. 禁止同時登錄從Flask登錄的多個不同地方登錄
- 3. 多個記錄加入一個記錄
- 4. Json登錄多個用戶登錄在一個登錄頁面
- 5. 蟒蛇記錄器記錄同一條目多次
- 6. 同一登錄跨透明登錄過程的多個站點
- 7. LOG4J2:多記錄器,多個附加目的地,在不同的日誌記錄級別
- 8. 登錄用戶在同一個tty上的歷史記錄
- 9. 限制多個用戶登錄,在同一個瀏覽器
- 10. 在同一瀏覽器中同時創建多個登錄
- 11. 登錄時記住目的地
- 12. 記錄多個服務器
- 13. 創建多個記錄器
- 14. 多個記錄
- 15. 多個記錄
- 16. 多個記錄
- 17. 多個記錄
- 18. 多個記錄
- 19. 單一登錄在同一個域上的多個網站上
- 20. 連接多個記錄的一個記錄PostgreSQL的
- 21. 多個登錄表單提交到一個登錄操作
- 22. Cakephp一個登錄功能/多個登錄視圖
- 23. Ember.js - 一個視圖多個佈局(登錄/未登錄)
- 24. 日誌記錄器在不同的閾值由記錄器的多個Appen
- 25. 多個.dockerignore文件在同一目錄
- 26. mod.rewrite多個規則同一目錄
- 27. 同一個項目與登錄和沒有登錄的基礎上的網址?
- 28. OneAuth多個登錄
- 29. 分組在一個單獨的記錄多個記錄
- 30. LOG4J:一個記錄器的一個appender
這個答案在'NLog'上下文中嗎? – Pablo
我對NLog上下文一無所知。我通常使用溫莎城堡,但你也可以使用任何這些:http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx – DrewB
請檢查標記,我的問題是關於'NLog' – Pablo