Save log4net to database series 3. Configure log4net and xmllog4net in xml Code
There are many posts in the garden about how to save log4net to the database, but it is not easy to do it. I learned how to configure log4net in log4net Database Log 1 and WebConfig from the beginning.
- 1. Configure log4net in WebConfig
- 2. Configure log4net in the independent configuration file
- 3. Configure log4net in xml Code
- Iv. complete code configuration log4net
- 5. Add database fields
Next, we will learn how to configure it.
1. Download, 2. Database script. For details, see save log4net to database series 1: Configure log4net in WebConfig
3. Configuration File
# Region configuration parameter string XmlValue = @ "<log4net> <appender name =" "AdoNetAppender" "type =" "log4net. appender. adoNetAppender ""> <bufferSize value = ""-1 ""/> <connectionType value = "" System. data. sqlClient. sqlConnection, System. data, Version = 1.0.3300.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 ""/> <connectionString value = "" data source = [server address]; initial catalog = [database]; persist security info = True; user id = [account]; password = [password]; MultipleActiveResultSets = True; ""/> <commandText value = "" insert into Log ([Date], [Thread], [Level], [Logger], [Message], [Exception]) VALUES (@ log_date, @ thread, @ log_level, @ logger, @ message, @ exception) ""/> <parameter> <parameterName value = "" @ log_date ""/> <dbType value = "" DateTime ""/> <layout type = "" log4net. layout. rawTimeStampLayout ""/> </parameter> <parameterName value = "" @ thread ""/> <dbType value = "String"/> <size value =" "255" "/> <layout type =" "log4net. layout. patternLayout ""> <conversionPattern value = "" % thread ""/> </layout> </parameter> <parameterName value = "" @ log_level ""/> <dbType value = "" String ""/> <size value = "50" "/> <layout type =" "log4net. layout. patternLayout ""> <conversionPattern value = "" % level ""/> </layout> </parameter> <parameterName value = "" @ logger ""/> <dbType value = "" String ""/> <size value = "" 255 ""/> <layout type = "" log4net. layout. patternLayout ""> <conversionPattern value = "" % logger ""/> </layout> </parameter> <parameterName value = "" @ message ""/> <dbType value = "" String ""/> <size value = "" 4000 ""/> <layout type = "" log4net. layout. patternLayout ""> <conversionPattern value = "" % message ""/> </layout> </parameter> <parameterName value = "" @ exception ""/> <dbType value = "" String ""/> <size value = "" 2000 ""/> <layout type = "" log4net. layout. predictionlayout ""/> </parameter> </appender> <root> <level value = "" ALL ""/> <appender-ref = "" AdoNetAppender "/> </root> </log4net> "; # endregionConfiguration File
4. Read parameters to generate log objects
XmlDocument log4netConfig = new XmlDocument (); log4netConfig. loadXml (XmlValue); // read the configuration file ILoggerRepository rep = LogManager. createRepository (Guid. newGuid (). toString (); xmlaggregator. configure (rep, log4netConfig ["log4net"]);
5. Test code
ILog log = LogManager. GetLogger (rep. Name, "test ");
Log. Debug ("Message ")
Log. Info ("log4net test ");
6. The test is successful.