89 lines
2.6 KiB
C#
89 lines
2.6 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
|
|
using Zhaizj.Framework;
|
|
|
|
namespace Zhaizj.Framework.Log {
|
|
|
|
/// <summary>
|
|
/// 文件日志工具,所有日志会被写入磁盘
|
|
/// </summary>
|
|
internal class FileLogger : ILog {
|
|
|
|
private LogLevel _levelSetting;
|
|
private LogMessage _msg;
|
|
|
|
public FileLogger() {
|
|
_levelSetting = LogConfig.Instance.Level;
|
|
_msg = new LogMessage();
|
|
}
|
|
|
|
public void Debug( String message ) {
|
|
_msg.LogTime = DateTime.Now;
|
|
_msg.Message = message;
|
|
_msg.LogLevel = "debug";
|
|
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
|
|
if (_levelSetting >= LogLevel.Debug) {
|
|
LoggerUtil.WriteFile( _msg );
|
|
}
|
|
}
|
|
|
|
public void Info( String message ) {
|
|
|
|
Boolean isSql = false;
|
|
if (message.StartsWith( LoggerUtil.SqlPrefix )) {
|
|
isSql = true;
|
|
message = strUtil.TrimStart( message, LoggerUtil.SqlPrefix );
|
|
}
|
|
|
|
_msg.LogTime = DateTime.Now;
|
|
_msg.Message = message;
|
|
_msg.LogLevel = "info";
|
|
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
|
|
if (_levelSetting >= LogLevel.Info) {
|
|
LoggerUtil.WriteFile( _msg );
|
|
}
|
|
|
|
if (isSql) LoggerUtil.LogSqlCount();
|
|
}
|
|
|
|
|
|
public void Warn( String message ) {
|
|
_msg.LogTime = DateTime.Now;
|
|
_msg.Message = message;
|
|
_msg.LogLevel = "warn";
|
|
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
|
|
if (_levelSetting >= LogLevel.Warn) {
|
|
LoggerUtil.WriteFile( _msg );
|
|
}
|
|
}
|
|
|
|
public void Error( String message ) {
|
|
_msg.LogTime = DateTime.Now;
|
|
_msg.Message = message;
|
|
_msg.LogLevel = "error";
|
|
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
|
|
if (_levelSetting >= LogLevel.Error) {
|
|
LoggerUtil.WriteFile( _msg );
|
|
}
|
|
}
|
|
|
|
public void Fatal( String message ) {
|
|
_msg.LogTime = DateTime.Now;
|
|
_msg.Message = message;
|
|
_msg.LogLevel = "fatal";
|
|
System.Diagnostics.Debug.Write( LoggerUtil.GetFormatMsg( _msg ) );
|
|
if (_levelSetting >= LogLevel.Fatal) {
|
|
LoggerUtil.WriteFile( _msg );
|
|
}
|
|
}
|
|
|
|
public String TypeName {
|
|
set {
|
|
_msg.TypeName = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|