我不知道如何在我的解决方案的其他项目中看到log4net日志。例如: Solution Project1 (业务) Project2 (DAL)项目...ProjectWeb (此处安装了glimpse和glimpse.log4net )
当我在项目1和2中写日志时,只有项目3中的日志被glimpse捕获,或者更多的glimpse仍然打开,但日志不被glimpse捕获。
有什么解决方案吗?我尝试了很多方法来配置web.config,但是没有办法从没有安装glimpse和glimpse.log4net的其他项目中捕获日志。
发布于 2016-03-09 16:20:37
似乎在nugget上有了一个新版本的glimps log4net:
Glimpse for log4net 1.1.0 (this version) 283 Sunday, February 7, 2016 您使用的是log4net 1.2.11 2.0.0吗?看起来Glimpse.Log4Net就是基于这个版本构建的。
接下来您可以启用log4net内部调试,这将显示所有内部异常:
有两种不同的方法可以在log4net中启用内部调试。下面列出了这些内容。首选方法是在应用程序的配置文件中指定log4net.Internal.Debug选项。
·还可以通过在应用程序的配置文件(不是log4net配置文件,除非log4net配置数据嵌入到应用程序的配置文件中)中设置值来启用内部调试。log4net.Internal.Debug应用程序设置必须设置为值true。例如:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="log4net.Internal.Debug" value="true"/>
</appSettings>
</configuration>此设置在启动时立即读取,并将导致发出所有内部调试消息。
·要以编程方式启用log4net的内部调试,需要将log4net.Util.LogLog.InternalDebugging属性设置为true。显然,设置得越早,产生的debug就越多。
内部调试消息将写入控制台和System.Diagnostics.Trace系统。如果应用程序没有控制台,那么记录在那里的消息将会丢失。请注意,应用程序可以通过设置System.Console.Out来重定向控制台流。默认情况下,跟踪系统会将消息发送到附加的调试器(消息将出现在输出窗口中)。如果进程没有附加调试器,则将消息发送到系统调试器。可以使用http://www.sysinternals.com的DebugView之类的实用程序来捕获这些消息。
在将log4net内部调试消息写入System.Diagnostics.Trace系统时,可以将这些消息重定向到本地文件。您可以通过将以下内容添加到应用程序的.config文件来定义跟踪侦听器:
<configuration>
...
<system.diagnostics>
<trace autoflush="true">
<listeners>
<add
name="textWriterTraceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="C:\tmp\log4net.txt" />
</listeners>
</trace>
</system.diagnostics>
...
</configuration>确保运行应用程序的进程具有写入此文件的权限。
log4net FAQ
https://stackoverflow.com/questions/35886065
复制相似问题