ASP. Net 로그 기록 구성 요소 XCLNetLogger 가 발표 되 었 습 니 다.
5791 단어 logC#asp.net로그 기록XCLNetLogger
항목 주소:https://github.com/xucongli1989/XCLNetLogger
이 프로그램 은 주로 데이터베이스 에 코드 에 있 는 로그 정 보 를 기록 하고 설정 이 상당히 간단 합 니 다. 물론 기능 도 간단 하여 적당 한 사람 에 게 바 칩 니 다.
By:XCL @2015 mail:[email protected] http://blog.csdn.net/luoyeyu1989
사용 환경
SQL SERVER
Windows
Asp. Net (기본 4.5) 기본 설정
Log.config , :
<?xml version="1.0" encoding="utf-8" ?>
<XCLNetLoggerConfig>
<DBConfig>
<SQLType>MSSQL</SQLType>
<ConnectionString>server=XCL-PC\MSSQL2008;database=xxxx;uid=xxxx;pwd=xxxx</ConnectionString>
<CommandText>EXEC [SysLog_ADD] @LogLevel,@LogType,@RefferUrl,@Url,@Code,@Title,@Contents,@ClientIP,@Remark,@CreateTime</CommandText>
<CommandTimeOut>3</CommandTimeOut>
<NeedThrowException>true</NeedThrowException>
<IsAsync>false</IsAsync>
</DBConfig>
<ParameterList>
<Parameter>
<Name>@LogLevel</Name>
<DBType>VarChar</DBType>
<Size>50</Size>
</Parameter>
<Parameter>
<Name>@LogType</Name>
<DBType>VarChar</DBType>
<Size>50</Size>
</Parameter>
<Parameter>
<Name>@RefferUrl</Name>
<DBType>VarChar</DBType>
<Size>1000</Size>
</Parameter>
<Parameter>
<Name>@Url</Name>
<DBType>VarChar</DBType>
<Size>1000</Size>
</Parameter>
<Parameter>
<Name>@Code</Name>
<DBType>VarChar</DBType>
<Size>50</Size>
</Parameter>
<Parameter>
<Name>@Title</Name>
<DBType>VarChar</DBType>
<Size>500</Size>
</Parameter>
<Parameter>
<Name>@Contents</Name>
<DBType>VarChar</DBType>
<Size>4000</Size>
</Parameter>
<Parameter>
<Name>@ClientIP</Name>
<DBType>VarChar</DBType>
<Size>50</Size>
</Parameter>
<Parameter>
<Name>@Remark</Name>
<DBType>VarChar</DBType>
<Size>2000</Size>
</Parameter>
<Parameter>
<Name>@CreateTime</Name>
<DBType>DateTime</DBType>
</Parameter>
</ParameterList>
</XCLNetLoggerConfig>
:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace XCLNetLogger.Model
{
/// <summary>
/// XCLNetLogger
/// </summary>
[Serializable]
public class XCLNetLoggerConfig
{
/// <summary>
/// DB
/// </summary>
public XCLNetLogger.Model.DBConfig DBConfig { get; set; }
/// <summary>
///
/// </summary>
public List<XCLNetLogger.Model.Parameter> ParameterList { get; set; }
}
/// <summary>
/// DB
/// </summary>
[Serializable]
public class DBConfig
{
private int _commandTimeOut = 30;
private bool _isAsync = true;
/// <summary>
///
/// </summary>
public XCLNetLogger.Config.LogConfig.SQLType SQLType { get; set; }
/// <summary>
///
/// </summary>
public string ConnectionString { get; set; }
/// <summary>
/// SQL
/// </summary>
public string CommandText { get; set; }
/// <summary>
/// sql ( 30s)
/// </summary>
public int CommandTimeOut
{
get { return this._commandTimeOut; }
set { this._commandTimeOut = value; }
}
/// <summary>
/// ( false)
/// </summary>
public bool NeedThrowException { get; set; }
/// <summary>
/// ( true)
/// </summary>
public bool IsAsync
{
get { return this._isAsync; }
set { this._isAsync = value; }
}
}
/// <summary>
///
/// </summary>
[Serializable]
public class Parameter
{
/// <summary>
///
/// </summary>
public string Name { get; set; }
/// <summary>
///
/// </summary>
public System.Data.SqlDbType DBType { get; set; }
/// <summary>
///
/// </summary>
public int? Size { get; set; }
}
}
사용 시작:
1、 XCLNetLogger.dll
2、
Global Application_Start
XCLNetLogger.Config.LogConfig.SetConfig(Server.MapPath("~/Config/Log.config"));
3、 , :
XCLNetLogger.Log.WriteLog(logModel);//logModel
4、 ? ,
CREATE TABLE [dbo].[SysLog](
[SysLogID] [bigint] IDENTITY(1,1) NOT NULL,
[LogLevel] [varchar](50) NOT NULL,
[LogType] [varchar](50) NULL,
[RefferUrl] [varchar](1000) NULL,
[Url] [varchar](1000) NULL,
[Code] [varchar](50) NULL,
[Title] [varchar](500) NULL,
[Contents] [varchar](4000) NULL,
[ClientIP] [varchar](50) NULL,
[Remark] [varchar](2000) NULL,
[CreateTime] [datetime] NOT NULL,
CONSTRAINT [PK_SYSLOG] PRIMARY KEY CLUSTERED
(
[SysLogID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE PROCEDURE [dbo].[SysLog_ADD]
@LogLevel varchar(50),
@LogType varchar(50),
@RefferUrl varchar(1000),
@Url varchar(1000),
@Code varchar(50),
@Title varchar(500),
@Contents varchar(4000),
@ClientIP varchar(50),
@Remark varchar(2000),
@CreateTime datetime
AS
INSERT INTO [SysLog](
[LogLevel],[LogType],[RefferUrl],[Url],[Code],[Title],[Contents],[ClientIP],[Remark],[CreateTime]
)VALUES(
@LogLevel,@LogType,@RefferUrl,@Url,@Code,@Title,@Contents,@ClientIP,@Remark,@CreateTime
)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
console.log()에서 컨텍스트를 유지하는 간단한 방법This post explains a simple way to enhance the use of console.log() in a nodejs http server, with an example for SvelteK...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.