C# 4.0 如何使用tracerx登录到多个文件
我正在使用Tracerx进行日志记录。目前,所有日志都保存在一个文件中C# 4.0 如何使用tracerx登录到多个文件,c#-4.0,logging,C# 4.0,Logging,我正在使用Tracerx进行日志记录。目前,所有日志都保存在一个文件中 Logger.GetLogger("name"); 不创建新文件。我希望每个日志都位于一个单独的文件中。如何实现它?日志文件名不受传递到Logger.GetLogger(…)的字符串控制。它由初始化日志文件时设置的名称控制。下面是一个可以用作模板的示例类。在InitLogging函数中,您需要根据需要为该类命名的日志更改属性Logging.TextFileLogging.Name和Logging.BinaryFileLog
Logger.GetLogger("name");
不创建新文件。我希望每个日志都位于一个单独的文件中。如何实现它?日志文件名不受传递到
Logger.GetLogger(…)
的字符串控制。它由初始化日志文件时设置的名称控制。下面是一个可以用作模板的示例类。在InitLogging
函数中,您需要根据需要为该类命名的日志更改属性Logging.TextFileLogging.Name
和Logging.BinaryFileLogging.Name
public class MyClass
{
// Declare a Logger instance for use by this class.
private static readonly Logger _log = Logger.GetLogger("MyClass");
// Initialize TracerX
private static bool LogFileOpened = InitLogging();
public void MyFunction()
{
using(_log.DebugCall())
{
//Do some stuff
_log.Info("Doing some stuff in MyFunction");
}
}
private static bool InitLogging()
{
// Load TracerX configuration from an XML file.
Logger.Xml.Configure("TracerX.xml");;
//Setup the name of the binary file
Logger.BinaryFileLogging.CircularStartSizeKb = 0;
Logger.BinaryFileLogging.Directory = "[path to my logs directory]";
Logger.BinaryFileLogging.Name = "MyClassLog";
//Setup the name of the text file
Logger.TextFileLogging.CircularStartSizeKb = 0;
Logger.TextFileLogging.Directory = "[path to my logs directory]";
Logger.TextFileLogging.Name = "MyClassLog";
if (Logger.TextFileLogging.IsOpen == false)
Logger.TextFileLogging.Open();
if (Logger.BinaryFileLogging.IsOpen == false)
Logger.BinaryFileLogging.Open();
return true;
}
}
这应该让你开始。如果你需要进一步的帮助,有很好的例子。两年后,这可能对你没有帮助,但是 每个记录器对象都有一个名为BinaryFile的属性,该属性指定该记录器使用的文件。BinaryFile属性的初始/默认值对于所有记录器都是相同的,这就是它们都写入同一文件的原因。如果希望给定的记录器写入不同的文件,则需要为其创建新的二进制文件 下面的示例代码创建两个记录器(Log1和Log2),并为每个记录器分配不同的二进制文件(具有不同的文件名)。BinaryFile还可以设置其他几个属性,如Directory、MaxSizeMb、FullFilePolicy等。请注意,您还需要调用Open()方法来实际打开/创建文件
Logger Log1 = Logger.GetLogger("name1");
Log1.BinaryFile = new BinaryFile()
{
Name = "FileName_1"
};
Logger Log2 = Logger.GetLogger("name2");
Log2.BinaryFile = new BinaryFile()
{
Name = "FileName_2"
};