C# 使用NLog的一些基本日志记录
我在NLog工作中面临一些非常简单的基本问题。我有一个配置文件C# 使用NLog的一些基本日志记录,c#,nlog,C#,Nlog,我在NLog工作中面临一些非常简单的基本问题。我有一个配置文件 <?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> <target xsi:type="Fi
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target xsi:type="File"
name="file"
layout="${longdate}|${level:uppercase=true}|${logger}|${message}"
archiveAboveSize="4000"
maxArchiveFiles="1"
archiveFileName="${basedir}/log_archived.txt"
fileName="log.txt" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="file" />
</rules>
</nlog>
在我的项目中,我正在这样做
class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
for (int i = 0; i < 100; i++)
{
logger.Fatal("Sample fatal error message:: {0}", i);
}
类程序
{
私有静态记录器Logger=LogManager.GetCurrentClassLogger();
静态void Main(字符串[]参数)
{
对于(int i=0;i<100;i++)
{
Fatal(“示例致命错误消息:{0}”,i);
}
log.txt文件是
2013-11-26 11:10:06.7166 |致命|控制台应用程序1.程序|示例致命错误消息::0
2013-11-26 11:10:06.7366 |致命|控制台应用程序1.程序|示例致命错误消息::1
2013-11-26 11:10:06.7366 |致命|控制台应用程序1.程序|示例致命错误消息::2
2013-11-26 11:10:06.7366 |致命|控制台应用程序1.程序|示例致命错误消息::3
2013-11-26 11:10:06.7366 |致命|控制台应用程序1.程序|示例致命错误消息::4
2013-11-26 11:10:06.7366 |致命|控制台应用程序1.程序|示例致命错误消息::5
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::6
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::7
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::8
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::9
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::10
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::11
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::12
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::13
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::14
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::15
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::16
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::17
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::18
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::19
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::20
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::21
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::22
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::23
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::24
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::25
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::26
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::27
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::28
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::29
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::30
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::31
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::32
2013-11-26 11:10:06.7466 |致命|控制台应用程序1.程序|示例致命错误消息::33
2013-11-26 11:10:06.7666 |致命|控制台应用程序1.程序|示例致命错误消息::34
2013-11-26 11:10:06.7666 |致命|控制台应用程序1.程序|示例致命错误消息::35
2013-11-26 11:10:06.7666 |致命|控制台应用程序1.程序|示例致命错误消息::36
2013-11-26 11:10:06.7666 |致命|控制台应用程序1.程序|示例致命错误消息::37
2013-11-26 11:10:06.7666 |致命|控制台应用程序1.程序|示例致命错误消息::38
2013-11-26 11:10:06.7666 |致命|控制台应用程序1.程序|示例致命错误消息::39
2013-11-26 11:10:06.7666 |致命|控制台应用程序1.程序|示例致命错误消息::40
(尺寸超过4K)
现在根据预期的结果,我应该有一个包含旧数据的归档文件和一个包含100、99、98…的最新条目的log.txt文件,但是当log.txt文件的大小超过上述限制时会发生什么情况。日志停止,并且没有创建新的归档文件。您的代码对我来说运行良好。程序运行后,我有两个文件在应用程序目录中:
带有大小为1302字节的条目86-99log.txt
带有大小为3999字节的条目43-85log_archived.txt
确保您正在查看正确的目录。同时确保您在应用程序目录中有正确的
NLog.config
,您的代码对我来说运行正常。程序运行后,我在应用程序目录中有两个文件:
带有大小为1302字节的条目86-99log.txt
带有大小为3999字节的条目43-85log_archived.txt
确保您正在查看正确的目录。同时确保您在应用程序目录中有正确的
NLog.config
,再次感谢您的时间。这让我发疯了我不知道我的end@user2968369打开应用程序文件夹,检查是否有NLog.config,并验证其设置是否正确运行exe
文件(不是来自Visual Studio!)并验证日志文件是否会出现。我按照以下步骤操作。同样,只有一个文件log.txt存在:(@user2968369我建议您删除日志文件并重新运行您的应用程序。然后我再次通过单击project->add->new ITem->NLog->Empty NLog Configuration file添加新日志文件。然后将Copy更改为Output Directory->Copy always So now两个lo