266 lines
6.2 KiB
C#
266 lines
6.2 KiB
C#
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Text;
|
|||
|
|
using CYQ.Data.Orm;
|
|||
|
|
|
|||
|
|
namespace CYQ.Data
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// A class for you to Write log to database
|
|||
|
|
/// <para><3E><>־<EFBFBD><D6BE>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ݿ⣨<DDBF><E2A3A8>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>LogConn<6E><6E><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7></para>
|
|||
|
|
/// </summary>
|
|||
|
|
public partial class SysLogs : SimpleOrmBase
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
public SysLogs()
|
|||
|
|
{
|
|||
|
|
if (!string.IsNullOrEmpty(AppConfig.Log.Conn))
|
|||
|
|
{
|
|||
|
|
base.SetInit(this, AppConfig.Log.TableName, AppConfig.Log.Conn);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
IsWriteToTxt = true;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private int _ID;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
[Key(true, true, false)]
|
|||
|
|
public int ID
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return _ID;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_ID = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private string _LogType;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(50)]
|
|||
|
|
public string LogType
|
|||
|
|
{
|
|||
|
|
get { return _LogType ?? ""; }
|
|||
|
|
set { _LogType = value; }
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private string _TraceID;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>ֲ<EFBFBD>ʽ<CABD><D7B7>ID
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(50)]
|
|||
|
|
public string TraceID
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return _TraceID ?? "";
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_TraceID = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private string _HostName;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ϵͳĬ<CDB3>϶<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(100)]
|
|||
|
|
public string HostName
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(_HostName))
|
|||
|
|
{
|
|||
|
|
_HostName = LocalEnvironment.HostName;
|
|||
|
|
}
|
|||
|
|
return _HostName;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_HostName = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
private string _Host;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP(ϵͳĬ<CDB3>϶<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B7B5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(100)]
|
|||
|
|
public string Host
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(_Host))
|
|||
|
|
{
|
|||
|
|
_Host = LocalEnvironment.HostIP;
|
|||
|
|
}
|
|||
|
|
return _Host;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_Host = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private string _HttpMethod;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(10)]
|
|||
|
|
public string HttpMethod
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return _HttpMethod;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_HttpMethod = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
private string _ClientIP;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(50)]
|
|||
|
|
public string ClientIP
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return _ClientIP;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
_ClientIP = value == "::1" ? "127.0.0.1" : value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
private string _RequestUrl;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(500)]
|
|||
|
|
public string RequestUrl
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return _RequestUrl;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_RequestUrl = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private string _RefererUrl;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(500)]
|
|||
|
|
public string RefererUrl
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return _RefererUrl;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_RefererUrl = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
private string _Message;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
[Length(2000)]
|
|||
|
|
public string Message
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
return _Message ?? "";
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_Message = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private DateTime _CreateTime;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
/// </summary>
|
|||
|
|
public DateTime CreateTime
|
|||
|
|
{
|
|||
|
|
get
|
|||
|
|
{
|
|||
|
|
if (_CreateTime == DateTime.MinValue)
|
|||
|
|
{
|
|||
|
|
_CreateTime = DateTime.Now;
|
|||
|
|
}
|
|||
|
|
return _CreateTime;
|
|||
|
|
}
|
|||
|
|
set
|
|||
|
|
{
|
|||
|
|
_CreateTime = value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public partial class SysLogs
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><><EFBFBD><EFBFBD>־д<D6BE>뵽<EFBFBD><EBB5BD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>߳<EFBFBD>ִ<EFBFBD>С<EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
public void Write()
|
|||
|
|
{
|
|||
|
|
if (!AppConfig.Log.IsEnable)
|
|||
|
|
{
|
|||
|
|
Error.Throw("Error : " + LogType + " : " + Message);
|
|||
|
|
}
|
|||
|
|
LogWorker.Add(this);
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20>Ƿ<EFBFBD>д<EFBFBD><D0B4><EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
internal bool IsWriteToTxt = false;
|
|||
|
|
/// <summary>
|
|||
|
|
/// <20><>ȡ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
internal string GetFormatterText()
|
|||
|
|
{
|
|||
|
|
string title = string.Format("V{0} Record On : {1} : {2} {3}",
|
|||
|
|
AppConfig.Version, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), HttpMethod, RequestUrl ?? "");// + Log.Url;
|
|||
|
|
if (!string.IsNullOrEmpty(ClientIP))
|
|||
|
|
{
|
|||
|
|
title += " - " + ClientIP;
|
|||
|
|
}
|
|||
|
|
if (!string.IsNullOrEmpty(TraceID))
|
|||
|
|
{
|
|||
|
|
title += AppConst.NewLine + AppConst.NewLine + "TraceID : " + TraceID;
|
|||
|
|
}
|
|||
|
|
if (!string.IsNullOrEmpty(RefererUrl))
|
|||
|
|
{
|
|||
|
|
if (string.IsNullOrEmpty(TraceID))
|
|||
|
|
{
|
|||
|
|
title += AppConst.NewLine;
|
|||
|
|
}
|
|||
|
|
title += AppConst.NewLine + "Referer : " + RefererUrl;
|
|||
|
|
}
|
|||
|
|
string body = title + AppConst.NewLine + AppConst.NewLine + Message.Replace("<br />", AppConst.NewLine) + AppConst.NewLine + AppConst.NewLine;
|
|||
|
|
body += "---------------------------------------" + AppConst.NewLine + AppConst.NewLine;
|
|||
|
|
return body;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|