我怎样才能有一个记录器,我用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