| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- <?xml version="1.0" encoding="utf-8"?>
- <configuration>
- <configSections>
- <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
- </configSections>
- <log4net>
- <!-- 滚动日志文件 -->
- <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
- <!--记录日志写入文件时,不锁定文本文件-->
- <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
- <!--使用utf-8编码-->
- <encoding value="utf-8" />
- <!--日志文件目录-->
- <param name= "File" value= "logs/"/>
- <!--是否是向文件中追加日志-->
- <param name= "AppendToFile" value= "true"/>
- <!--log保留天数(-1则为全保留)-->
- <param name= "MaxSizeRollBackups" value= "30"/>
- <!--日志文件名是否是固定不变的-->
- <param name= "StaticLogFileName" value= "false"/>
- <!--日志文件名格式为:20080831.log-->
- <param name= "DatePattern" value= "yyyyMMdd".log""/>
- <!--日志根据日期滚动-->
- <param name= "RollingStyle" value= "Date"/>
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="******************************************************************************************%newline%date{yyyy-MM-dd HH:mm:ss.fff}%newline%level%newline%message%newline******************************************************************************************%newline%newline" />
- </layout>
- </appender>
- <appender name="EFRollingFileAppender" type="log4net.Appender.RollingFileAppender">
- <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
- <param name="Encoding" value="utf-8" />
- <param name= "File" value= "logs/"/>
- <param name= "AppendToFile" value= "true"/>
- <param name= "MaxSizeRollBackups" value= "30"/>
- <param name= "StaticLogFileName" value= "false"/>
- <param name= "DatePattern" value= "yyyyMMdd"-Sql.log""/>
- <!--日志根据日期滚动-->
- <param name= "RollingStyle" value= "Date"/>
- <layout type="log4net.Layout.PatternLayout">
- <param name="ConversionPattern" value="******************************************************************************************%newline%date{yyyy-MM-dd HH:mm:ss.fff}%newline%level%newline%message%newline******************************************************************************************%newline%newline" />
- </layout>
- </appender>
- <!-- MsSql
- CREATE TABLE [log4net].[Log](
- [LogID] [bigint] NOT NULL IDENTITY(1,1)
- ,[AppID] [int] NOT NULL CONSTRAINT [DF_Log_AppID] DEFAULT ((0))
- ,[LogTime] [datetime] NOT NULL CONSTRAINT [DF_Log_LogTime] DEFAULT (getdate())
- ,[Thread] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_Log_Thread] DEFAULT ('')
- ,[Severity] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_Log_Severity] DEFAULT ('')
- ,[Logger] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_Log_Logger] DEFAULT ('')
- ,[Msg] [nvarchar] (max) COLLATE Chinese_PRC_CI_AS NOT NULL CONSTRAINT [DF_Log_Msg] DEFAULT ('')
- ,[Exception] [nvarchar] (max) COLLATE Chinese_PRC_CI_AS NULL
- ,[CrtTime] [datetime] NOT NULL CONSTRAINT [DF_Log_CrtTime] DEFAULT (getdate())
- ,[LogLevel] AS (case [Severity] when 'ALL' then (0) when 'FINEST' then (10000) when 'TRACE' then (20000) when 'DEBUG' then (30000) when 'INFO' then (40000) when 'NOTICE' then (50000) when 'WARN' then (60000) when 'EXCEPTION' then (65000) when 'ERROR' then (70000) when 'SEVERE' then (80000) when 'CRITICAL' then (90000) when 'ALERT' then (100000) when 'FATAL' then (110000) when 'EMERGENCY' then (120000) else (2147483647) end) PERSISTED
- )
- ;
- CREATE CLUSTERED INDEX [CX_Log] ON [log4net].[Log]([LogTime]) WITH(PAD_INDEX=OFF);
- ALTER TABLE [log4net].[Log] ADD CONSTRAINT [PK_Log] PRIMARY KEY NONCLUSTERED([LogID]) WITH(PAD_INDEX=OFF);
- CREATE INDEX [IX_Log:AppID] ON [log4net].[Log]([AppID]) WITH(PAD_INDEX=OFF);
- CREATE INDEX [IX_Log:LogLevel] ON [log4net].[Log]([LogLevel]) WITH(PAD_INDEX=OFF);
- EXEC sp_addextendedproperty N'MS_Description', N'应用编号', N'SCHEMA', N'log4net', N'TABLE', N'Log', N'COLUMN', N'AppID';
- EXEC sp_addextendedproperty N'MS_Description', N'产生日志的时间', N'SCHEMA', N'log4net', N'TABLE', N'Log', N'COLUMN', N'LogTime';
- EXEC sp_addextendedproperty N'MS_Description', N'线程', N'SCHEMA', N'log4net', N'TABLE', N'Log', N'COLUMN', N'Thread';
- EXEC sp_addextendedproperty N'MS_Description', N'严重度', N'SCHEMA', N'log4net', N'TABLE', N'Log', N'COLUMN', N'Severity';
- EXEC sp_addextendedproperty N'MS_Description', N'日志器', N'SCHEMA', N'log4net', N'TABLE', N'Log', N'COLUMN', N'Logger';
- EXEC sp_addextendedproperty N'MS_Description', N'错误信息', N'SCHEMA', N'log4net', N'TABLE', N'Log', N'COLUMN', N'Msg';
- EXEC sp_addextendedproperty N'MS_Description', N'异常信息', N'SCHEMA', N'log4net', N'TABLE', N'Log', N'COLUMN', N'Exception';
- EXEC sp_addextendedproperty N'MS_Description', N'写入到表的时间', N'SCHEMA', N'log4net', N'TABLE', N'Log', N'COLUMN', N'CrtTime';
- -->
- <appender name="MsSqlAppender" type="log4net.Appender.AdoNetAppender">
- <!-- 待缓存达到指定行数后再写入数据库 -->
- <!--<bufferSize value="100" />-->
- <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
- <connectionString value="data source=.,38032;initial catalog=DSLog;integrated security=false;persist security info=True;User ID=Web;Password=aYWR8f2eEc6_u1Jn" />
- <commandText value="INSERT INTO [log4net].[Log]([AppID], [LogTime],[Thread],[Severity],[Logger],[Msg],[Exception]) VALUES (8, @LogTime, @Thread, @Severity, @Logger, @Msg, @Exception)" />
- <parameter>
- <parameterName value="@LogTime" />
- <dbType value="DateTime" />
- <layout type="log4net.Layout.RawTimeStampLayout" />
- </parameter>
- <parameter>
- <parameterName value="@Thread" />
- <dbType value="String" />
- <size value="255" />
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%thread" />
- </layout>
- </parameter>
- <parameter>
- <parameterName value="@Severity" />
- <dbType value="String" />
- <size value="50" />
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%level" />
- </layout>
- </parameter>
- <parameter>
- <parameterName value="@Logger" />
- <dbType value="String" />
- <size value="255" />
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%logger" />
- </layout>
- </parameter>
- <parameter>
- <parameterName value="@Msg" />
- <dbType value="String" />
- <size value="-1" />
- <layout type="log4net.Layout.PatternLayout">
- <conversionPattern value="%message" />
- </layout>
- </parameter>
- <parameter>
- <parameterName value="@Exception" />
- <dbType value="String" />
- <size value="-1" />
- <layout type="log4net.Layout.ExceptionLayout" />
- </parameter>
- </appender>
- <logger name="RollingFileLogger">
- <!--(低)ALL(0) < FINEST(10000) < TRACE(20000) < DEBUG(30000) < INFO(40000) < NOTICE(50000) < WARN(60000) < ERROR(70000) < SEVERE(80000) < CRITICAL(90000) < ALERT(100000) < FATAL(110000) < EMERGENCY(120000) < (高)OFF[不记录](2147483647) -->
- <level value="TRACE"/>
- <appender-ref ref="RollingFileAppender"/>
- <appender-ref ref="MsSqlAppender"/>
- </logger>
- <logger name="EFRollingFileLogger">
- <!--(低)ALL(0) < FINEST(10000) < TRACE(20000) < DEBUG(30000) < INFO(40000) < NOTICE(50000) < WARN(60000) < ERROR(70000) < SEVERE(80000) < CRITICAL(90000) < ALERT(100000) < FATAL(110000) < EMERGENCY(120000) < (高)OFF[不记录](2147483647) -->
- <level value="TRACE"/>
- <appender-ref ref="EFRollingFileAppender"/>
- <!--<appender-ref ref="MsSqlAppender"/>-->
- </logger>
- <logger name="MsSqlLogger">
- <level value="OFF"/>
- <appender-ref ref="MsSqlAppender"/>
- </logger>
- </log4net>
- </configuration>
|