ZhiYeJianKang_PeiXun/cyqdata-master/Log/SysLogs.cs

266 lines
6.2 KiB
C#
Raw Normal View History

2025-02-20 15:41:53 +08:00
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;
}
}
}