WCF Configuration Log4net

Source: Internet
Author: User

1. Referencing the log4net DLL file

2. Create the Log4net.config file and configure the file information

<?xml version="1.0"encoding="Utf-8"?><configuration> <!--author:gaobingbing--> <configSections> <section name="log4net"Type="log4net. Config.log4netconfigurationsectionhandler, Log4net"/> </configSections> <log4net> <!--write to database-<appender name="Adonetappender_mysql"Type="log4net. Appender.adonetappender"> <!--error queue data reached 5 to persist to database-<buffersize value="5"/> <param name="ConnectionType"Value="MySql.Data.MySqlClient.MySqlConnection, Mysql.data"/> <param name="ConnectionString"Value="Server=localhost;database=specialdb; Uid=sa; Pwd=sa;old Syntax=yes"/> <commandtext value="INSERT into Log_serviceslog (log_datetime,log_thread,log_level,log_logger,log_message) VALUES (@log_date, @ Thread, @log_level, @logger, @message)"/> <parameter> <parametername value="@log_date"/> <dbtype value="DateTime"/> <layout type="log4net. Layout.rawtimestamplayout"/> <!--<layout type="log4net. Layout.patternlayout"Value="%date{yyyy '-' mm '-' dd HH ': ' mm ': ' SS}"/>--> </parameter> <parameter> <parametername value="@thread"/> <dbtype value="String"/> <size value="255"/> <layout type="log4net. Layout.patternlayout"> <conversionpattern value="%thread"/> </layout> </parameter> <parameter> <parametername value="@log_level"/> <dbtype value="String"/> <size value=" -"/> <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="@message"/> <dbtype value="String"/> <size value="4000"/> <layout type="log4net. Layout.patternlayout"> <conversionpattern value="%message"/> </layout> </parameter> <!--<parameter> <parametername value="@exception"/> <dbtype value="String"/> <size value=" -"/> <layout type="log4net. Layout.exceptionlayout"/> </parameter>--> </appender> <root> <level value=" All"/> <appender-ref ref="Adonetappender_mysql"/> </root> <logger name="*"> <level value=" All"/> <appender-ref ref="Adonetappender_mysql"/> </logger> </log4net></configuration>

3. Create a new customservicehostfactory under the project root and inherit the ServiceHostFactory override CreateServiceHost method

Customservicehost inheritance ServiceHost override Customservicehost method Start error log (reference System.ServiceModel.Activation required)

usingSystem;usingSystem.ServiceModel.Activation;usingSystem.ServiceModel;namespacetopicwcfservices{ Public classCustomservicehostfactory:servicehostfactory {protected OverrideServiceHost createservicehost (Type servicetype, uri[] baseaddresses) {Customservicehost Customservicehost=Newcustomservicehost (servicetype, baseaddresses); returnCustomservicehost; }    }     Public classCustomservicehost:servicehost { PublicCustomservicehost (Type servicetype,paramsuri[] baseaddresses):Base(ServiceType, baseaddresses) {log4net.        Config.XmlConfigurator.Configure (); }        protected Override voidapplyconfiguration () {Base.        ApplyConfiguration (); }    }}

4. In the AssemblyInfo.cs file, add

" Log4net.config " true)]

5. Create an error log record file

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingsystem.web; Public classtopicservicelog{//Get Instance    Private StaticLog4net. ILog MyLogger =log4net.    Logmanager.getlogger ("Adonetappender_mysql"); //error Level: Info     Public Static voidInfo (stringmessage)    {mylogger.info (message); }    //error Level: Debug     Public Static voidDebug (stringmessage)    {mylogger.debug (message); }    //error Level: Warn     Public Static voidWarn (stringmessage)    {mylogger.warn (message); }    //error Level: Fatal     Public Static voidFatal (stringmessage)    {mylogger.fatal (message); }    //fault level: Error     Public Static voidError (stringmessage)    {mylogger.error (message); }}

OK, end, tested can be used

WCF Configuration Log4net

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.