Преглед изворни кода

1.增加Log.Fatal类型
2.修复Log无法写入文件问题
3.修改日志文件路径,每个进程独立一个log文件夹
4.日志每天写入一个文件
5.日志文件超时时间为1小时不写入自动关闭打开状态

Lucky пре 7 година
родитељ
комит
25792bb96c

+ 47 - 9
Server/App/NLog.config

@@ -12,45 +12,83 @@
 
 	<targets>
 		<target name="trace" xsi:type="File"
-			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}-Trace.txt"
+      openFileCacheTimeout="3600"
+      ConcurrentWrites="false"
+			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Trace/${shortdate}.log"
 			deleteOldFileOnStartup="false"
 			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
-		<target name="trace" type="ColoredConsole"
+		<target name="traceConsole" type="ColoredConsole"
 			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
 	</targets>
 	
 	<targets>
 		<target name="debug" xsi:type="File"
-			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}-Debug.txt"
+      openFileCacheTimeout="3600"
+      ConcurrentWrites="false"
+			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Debug/${shortdate}.log"
 			deleteOldFileOnStartup="false"
 			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
-		<target name="debug" type="ColoredConsole"
+		<target name="debugConsole" type="ColoredConsole"
 			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
 	</targets>
 
 	<targets>
 		<target name="info" xsi:type="File"
-			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}-Info.txt"
+      openFileCacheTimeout="3600"
+      ConcurrentWrites="false"
+			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Info/${shortdate}.log"
 			deleteOldFileOnStartup="false"
 			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
-		<target name="info" type="ColoredConsole"
+		<target name="infoConsole" type="ColoredConsole"
 			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
 	</targets>
 	
 	<targets>
 		<target name="error" xsi:type="File"
-			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}-Error.txt"
+      openFileCacheTimeout="3600"
+      ConcurrentWrites="false"
+			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Error/${shortdate}.log"
 			deleteOldFileOnStartup="false"
 			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
-		<target name="error" type="ColoredConsole"
+		<target name="errorConsole" type="ColoredConsole"
+			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
+	</targets>
+  
+  <targets>
+		<target name="warn" xsi:type="File"
+      openFileCacheTimeout="3600"
+      ConcurrentWrites="false"
+			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Warning/${shortdate}.log"
+			deleteOldFileOnStartup="false"
+			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
+		<target name="warnConsole" type="ColoredConsole"
+			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
+	</targets>
+  
+  <targets>
+		<target name="fatal" xsi:type="File"
+      openFileCacheTimeout="3600"
+      ConcurrentWrites="false"
+			fileName="${basedir}/../Logs/Log-${var:appType}-${var:appId}/Fatal/${shortdate}.log"
+			deleteOldFileOnStartup="false"
+			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
+		<target name="fatalConsole" type="ColoredConsole"
 			layout="${longdate} ${var:appTypeFormat} ${var:appIdFormat} ${message} ${newline} ${stacktrace:format=Raw:topFrames=10:skipFrames=0}" />
 	</targets>
 	
 	<rules>
 		<logger name="*" minlevel="Trace" writeTo="all" />
 		<logger name="*" minlevel="Trace" maxlevel="Trace" writeTo="trace" />
+    <logger name="*" minlevel="Trace" maxlevel="Trace" writeTo="traceConsole" />
 		<logger name="*" minlevel="Debug" maxlevel="Debug" writeTo="debug" />
+    <logger name="*" minlevel="Debug" maxlevel="Debug" writeTo="debugConsole" />
 		<logger name="*" minlevel="Info" maxlevel="Info" writeTo="info" />
-		<logger name="*" minlevel="Error" writeTo="error" />
+    <logger name="*" minlevel="Info" maxlevel="Info" writeTo="infoConsole" />
+    <logger name="*" minlevel="Warn" maxlevel="Warn" writeTo="warn" />
+		<logger name="*" minlevel="Warn" maxlevel="Warn" writeTo="warnConsole" />
+		<logger name="*" minlevel="Error" maxlevel="Error" writeTo="error" />
+		<logger name="*" minlevel="Error" maxlevel="Error" writeTo="errorConsole" />
+    <logger name="*" minlevel="Fatal" maxlevel="Fatal" writeTo="fatal" />
+		<logger name="*" minlevel="Fatal" maxlevel="Fatal" writeTo="fatalConsole" />
 	</rules>
 </nlog>

+ 11 - 1
Server/Model/Base/Log.cs

@@ -35,5 +35,15 @@ namespace ETModel
 		{
 			globalLog.Error(message);
 		}
-	}
+
+        public static void Fatal(Exception e)
+        {
+            globalLog.Fatal(e.ToString());
+        }
+
+        public static void Fatal(string message)
+        {
+            globalLog.Fatal(message);
+        }
+    }
 }

+ 2 - 1
Server/Model/Base/Logger/ILog.cs

@@ -7,5 +7,6 @@
 		void Info(string message);
 		void Debug(string message);
 		void Error(string message);
-	}
+        void Fatal(string message);
+    }
 }

+ 6 - 1
Server/Model/Base/Logger/NLogAdapter.cs

@@ -34,5 +34,10 @@ namespace ETModel
 		{
 			this.logger.Error(this.Decorate(message));
 		}
-	}
+
+        public void Fatal(string message)
+        {
+            this.logger.Fatal(this.Decorate(message));
+        }
+    }
 }