相关疑难解决方法(0)

log4net与Nlog

有人都有经验吗?他们如何相互叠加?

我们计划使用其中一个登录企业应用程序.

参考文献:

log4net的

n日志

编辑:我们没有nlog或log4net的现有依赖项.

log4net nlog

355
推荐指数
12
解决办法
13万
查看次数

如何跨类使用TraceSource

我最近在研究TraceSource的文档.Microsift说TraceSource是一种新方法,应该使用而不是旧的Trace类.

// create single TraceSource instance to be used for logging
static TraceSource ts = new TraceSource("TraceTest");

// somewhere in the code
ts.TraceEvent(TraceEventType.Warning, 2, "File Test not found");
Run Code Online (Sandbox Code Playgroud)

现在我的问题.你有大型项目,有几个程序集,你有很多类.假设您想跟踪跨类传播的特定功能.明显的想法是你需要创建一个特定的TraceSource.

1)要使用Tracesource,我需要先创建实例.什么是MS考虑跨各种类或程序集共享此实例?我应该创建一个具有静态单例属性的虚拟类吗?在那种情况下你在做什么

2)为什么我需要TraceSource实例?配置文件中描述了每个属性.基于Trace类的旧逻辑不需要某些实例,只提供了使用静态方法的方法.

.net c# logging trace

27
推荐指数
1
解决办法
2万
查看次数

通过app.config关闭跟踪

我正在尝试使用System.Diagnostics做一些非常基本的日志记录.我想我会使用框中的内容,而不是像Log4Net或EntLib那样使用额外的依赖.

我已经全部成立,跟踪工作非常好.代码段:

Trace.TraceInformation("Hello World")
Run Code Online (Sandbox Code Playgroud)

App.config中:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="TraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Trace.log" traceOutputOptions="DateTime" />
        <remove name="Default" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>
Run Code Online (Sandbox Code Playgroud)

而我的小"Hello World"在我的Trace.log文件中显示得很好.但现在我想关闭跟踪,所以我深入了解MSDN并找到如何:配置跟踪开关 .我添加了<switches>元素,现在我的app.config看起来像这样:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="TraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="Trace.log" traceOutputOptions="DateTime" />
        <remove name="Default" />
      </listeners>
    </trace>
    <switches>
      <add name="Data" value="0" />
    </switches>
  </system.diagnostics>
</configuration>
Run Code Online (Sandbox Code Playgroud)

value="0"应关闭跟踪-至少如果你然后按照如何:创建和初始化跟踪开关,它告诉您添加这行代码:

Dim dataSwitch As New BooleanSwitch("Data", "DataAccess module")
Run Code Online (Sandbox Code Playgroud)

这对我来说没有意义:我只需要BooleanSwicth通过.config文件声明一个能够管理(禁用)跟踪的实例?我应该...在某处使用 ......对象? …

.net c# vb.net configuration trace

18
推荐指数
1
解决办法
3万
查看次数

无法理解.net 2010跟踪和app.config

在我的app.config中,我想设置3个跟踪级别(交换机?):详细,警告和无.在代码的调试版本中,我想要在我想要警告的版本中激活详细开关.在特殊情况下,我的应用程序用户可以修改配置文件以禁用所有跟踪.

我希望在控制台上输出调试跟踪,而发布只跟踪到日志文件.

我写了以下内容:

[...]
<system.diagnostics>
        <sources>
            <!-- This section defines the logging configuration for My.Application.Log -->
          <source name="debug" switchName="debug">
            <listeners>
              <add name="FileLog"/>
              <add name="console"/>
            </listeners>
          </source>

          <source name="release" switchName="release">
            <listeners>
              <add name="FileLog"/>
            </listeners>
          </source>

          <source name="silent" switchName="none">
            <listeners/>
          </source>
        </sources>


        <switches>
            <add name="debug" value="Verbose"/>
            <add name="release" value="Warning"/>
            <add name="none" value="Off"/>
        </switches>


        <!--<sharedListeners>
            <add name="FileLog" type="System.Diagnostics.TextWriterTraceListener"  traceOutputOptions="DateTime" initializeData="felix.log"/>
            <add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false" />
        </sharedListeners>-->

        <trace autoflush="false" indentsize="4">
          <listeners>
              <add name="FileLog" type="System.Diagnostics.TextWriterTraceListener" traceOutputOptions="DateTime" initializeData="felix.log"/>
              <add name="console" type="System.Diagnostics.ConsoleTraceListener" initializeData="false"/>
              <remove name="Default"/>
          </listeners>
        </trace> …
Run Code Online (Sandbox Code Playgroud)

.net logging trace system.diagnostics visual-studio-2010

5
推荐指数
1
解决办法
3996
查看次数

我什么时候在代码中需要多个TraceSource?

如果一个应用程序将其所有活动数据写入一个日志文件中,是否有使用多个TraceSource的用途?我只是对代码中需要多个TraceSource的用例感到好奇.

c# tracesource

5
推荐指数
1
解决办法
2963
查看次数