C# 如何在C中使用NLog获取程序中的日志日期(时间戳)#
我想在一个程序中获取我的记录器的日期(时间戳)。我将记录器配置为:C# 如何在C中使用NLog获取程序中的日志日期(时间戳)#,c#,logging,nlog,C#,Logging,Nlog,我想在一个程序中获取我的记录器的日期(时间戳)。我将记录器配置为: var fileTarget = new FileTarget(); string folder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); string fullPath = Path.Combine(folder, "Log.txt"); if (!File.Exist
var fileTarget = new FileTarget();
string folder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
string fullPath = Path.Combine(folder, "Log.txt");
if (!File.Exists(fullPath))
{
File.Create(fullPath);
}
fileTarget.FileName = fullPath;
config.AddTarget("file", fileTarget);
var fileRule = new LoggingRule("*", LogLevel.Warn, fileTarget);
config.LoggingRules.Add(fileRule);
LogManager.Configuration = config;
在我的计划中,我有以下几点:
class Program
{
static Logger log = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
log.Warn("Testing");
//How can I check the logging time here?
}
}
我想不出怎么做。任何帮助都将不胜感激
我知道你可以在日志文件中创建它,但我想直接在我的程序中获得它并使用它
然后最简单的解决方案是使用DateTime。现在
手动将值记录在代码中:
class Program
{
static Logger log = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
log.Warn(DateTime.Now.ToString("HH:mm:ss.fff MM.dd.yyyy") + " | " + "Testing");
//How can I check the logging time here?
// Or if you want to have it after the logger call save it afterwards
DateTime timeStamp = DateTime.Now;
}
}
我知道你可以在日志文件中创建它,但我想直接在我的程序中获得它并使用它
然后最简单的解决方案是使用DateTime。现在
手动将值记录在代码中:
class Program
{
static Logger log = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
log.Warn(DateTime.Now.ToString("HH:mm:ss.fff MM.dd.yyyy") + " | " + "Testing");
//How can I check the logging time here?
// Or if you want to have it after the logger call save it afterwards
DateTime timeStamp = DateTime.Now;
}
}
如果您自己创建
NLog.LogEventInfo
并将其传递给记录器(而不仅仅是字符串消息),则可以访问日志事件的时间戳
NLog.LogEventInfo
有一个名为LogEventInfo.TimeStamp
如果您自己创建
NLog.LogEventInfo
并将其传递给记录器(而不仅仅是字符串消息),则可以访问日志事件的时间戳
NLog.LogEventInfo
有一个名为LogEventInfo.TimeStamp
NLOG有一个很酷的Config.XML,您可以在其中指定每个日志项的格式。在这里,您还可以指定时间戳在日志中的位置和格式。请给我一分钟时间查找教程看看“我想在程序中获取记录器的日期(时间戳)”-这是什么日期?日志是什么时候生成的?记录器是何时创建的?为什么你需要在你的程序中知道这一点?@stuartd这是调用该行的时间。我知道你可以在日志文件中创建它,但我想直接在我的程序中获取它并使用它。“这是调用该行的时间”-但你已经知道调用记录器的时间。。NLOG有一个很酷的Config.XML,您可以在其中指定每个日志项的格式。在这里,您还可以指定时间戳在日志中的位置和格式。请给我一分钟时间查找教程看看“我想在程序中获取记录器的日期(时间戳)”-这是什么日期?日志是什么时候生成的?记录器是何时创建的?为什么你需要在你的程序中知道这一点?@stuartd这是调用该行的时间。我知道你可以在日志文件中创建它,但我想直接在我的程序中获取它并使用它。“这是调用该行的时间”-但你已经知道调用记录器的时间。。我很困惑。然后我就可以在警告消息后调用DateTime.Now.ToString(“HH:mm:ss.fff mm.dd.yyyy”)了?@user3841581您打算如何使用时间戳?您不想将其保存在日志文件中吗?@user3841581您是否计划测量一些执行时间?如果是这样的话,您应该看看。@Fildor可能是在测试记录器?=!;)@用户3841581,您可以使用记录器,但时间戳如何告诉您“发生错误的原因”?无论如何您希望在代码中的何处使用时间戳?还是希望时间在记录器/日志文件中结束?这对meI来说仍然不清楚。然后,在警告消息之后,meI可以调用DateTime.Now.ToString(“HH:mm:ss.fff mm.dd.yyyy”)。@user3841581您打算如何使用时间戳?您不想将其保存在日志文件中吗?@user3841581您是否计划测量一些执行时间?如果是这样的话,您应该看看。@Fildor可能是在测试记录器?=!;)@用户3841581,您可以使用记录器,但时间戳如何告诉您“发生错误的原因”?无论如何您希望在代码中的何处使用时间戳?还是希望时间在记录器/日志文件中结束?这一点我还不清楚