记录应用程序块-记录调用者 - c#

使用Log4Net进行日志记录时,很容易将称为日志的类放入日志文件。过去我发现,这使跟踪代码和查看类的流变得非常容易。在Log4Net中,我在转换模式中使用%logger属性,如下所示:

<conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />

这给了我想要的输出:

2008-09-19 15:40:26,906 [3132] ERROR <b>Log4NetTechDemo.Tester</b> [(null)] - Failed method

从输出中可以看到,调用日志的类是Log4NetTechDemo.Tester,因此我可以很容易地将错误追溯到该类。

在Logging Applicaton块中,我无法通过简单的日志调用来弄清楚该如何做。有谁知道该怎么做?如果是这样,那么执行此操作的示例或步骤将非常有帮助。

参考方案

将调用方法添加到LogEntry的ExtendedProperties字典中;当然,假设您尚未从格式化程序模板中删除ExtendedProperties标记。

将这样的内容放入日志包装器中:

public void LogSomething(string msg)
{
  LogEntry le = new LogEntry { Message = msg };
  le.ExtendedProperties.Add("Called from", new StackFrame(1).GetMethod().ReflectedType);
  Logger.Write(le);
}

调用此命令将在日志末尾产生如下内容:

Extended Properties: Called from - LAB_Demo.Tester

如何在java.library.path中添加rxtxSerial? - java

我正在使用Eclipse IDE用Java开发应用程序。我的操作系统是Ubuntu11。我的应用程序使用RXTX库(gnu.io. *)进行串行通信。通过执行此操作,我已经在项目中添加了RXTXomm.jar文件(项目->属性-> java buld路径->添加外部jar)。每当我运行代码时,都会出现此错误。java.lang.Unsati…

有什么方法可以从java.util.logging.Logger输出中删除信息行? - java

使用java.util.logging.Logger将一些日志输出到控制台,如下所示:public static void main(String[] args) { Logger logger = Logger.getLogger("test"); logger.info("Hello Wolrd!"); } 输出为…

Conda仅将env设置为LD_LIBRARY_PATH - python

我安装了miniconda3,并在其中创建了一个名为py35的虚拟环境。我有一些我只想在此环境中使用的库。因此他们在 /.../miniconda3/envs/py35/libs 但是,由于LD_LIBRARY_PATH不包含上述文件夹,因此无法从环境中找到它们。现在,我想将LD_LIBRARY_PATH设置为仅在虚拟环境中时才包含/ lib。我当时正在考虑…

如何在Java中实现图形数据结构?有没有现有的图书馆? - java

我想在Java中实现图数据结构以维护对象图。我应该如何实现?是否有一个随时可用的图书馆可以提供帮助? 参考方案 Is there a readily available library which could help? DSL是Java中的数据结构库 JGraphT是一个免费的Java图形库,提供数学图形理论对象和算法。 JUNG是Java通用网络/图形框…

LeetCode题解计算机为什么是基于二进制的?

可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制