Using log4net in. NET core2.0

Source: Internet
Author: User

First, NuGet installation log4net

Second, add log4net.config configuration file
<?xml version= "1.0" encoding= "Utf-8"?><configuration> <configSections> <!--Add custom nodes: log4net Type: Resolves the class name, assembly name (Log4net.dll)-<section name= "log4net" type= "log4net". Config.log4netconfigurationsectionhandler, log4net "/> </configSections> <log4net> <root> &l t;! --<level value= "DEBUG"/>--> <!--control level, from low to High: all| debug|info| warn| error| fatal| OFF all indicates that all log requests are allowed. Off is to reject all requests. -<!--such as defining level info, the level of the info level downward, such as the debug log will not be recorded--<level value= "All"/> <!--recorded to a different log level Log Files--<appender-ref ref= "errorlog"/> </root> <!--error--> <appender name= "Errorl OG "type=" log4net. Appender.rollingfileappender "> <file value=" log/"/> <appendtofile value=" true "/> <rollin Gstyle value= "Date"/> <!--date format, each day for a file record, if not set to always record only one day of the log, need to set--<datepattern value= "YYYYMMDD" _erro R.log ""/> <!--log file name is static---&LT; Staticlogfilename value= "false"/> <!--multi-threaded with minimal lock-in <lockingmodel type= "log4net. Appender.fileappender+minimallock "/> <!--layout (show the user the last formatted output information)--<layout type=" log4net. Layout.patternlayout "> <conversionpattern value="%date thread Id:[%thread] Log level:%-5level Error class:%logger PROPERTY:[%PR OPERTY{NDC}]-error description:%message%newline "/> </layout> <securitycontext type=" log4net. Util.windowssecuritycontext "> <credentials value=" Process "/> </securityContext> <filte R type= "Log4net. Filter.levelrangefilter "> <levelmin value=" DEBUG "/> <levelmax value=" ERROR "/> </fil Ter> </appender> <!--error--> </log4net></configuration>
Iii. Preparation of Loghelper
Using grabnovelapi;using log4net;using system;using system.collections.concurrent;using System.Collections.Generic; Using System.text;namespace grab.api{public static class Loghelper {private static readonly concurrentdiction        Ary<type, ilog> loggers = new Concurrentdictionary<type, ilog> (); <summary>///Capture recorder///</summary>//<param name= "source" >soruce</param&gt        ; <returns></returns> private static ILog GetLogger (Type source) {if (Loggers.cont            Ainskey (source)) {return loggers[source];                } else {ILog logger = Logmanager.getlogger (Startup.repository.name,source);                Loggers.tryadd (source, logger);            return logger;        }///LOG A Message Object *////<summary>//debug information///</summary> <param name= "SOURCE ">source</param>//<param name=" message ">message</param> public static void Deb UG (object source, String message) {Debug (source.        GetType (), message); }///<summary>//debug information///</summary>//<param name= "source" >source</        param>//<param name= "message" >message</param>///<param name= "PS" >ps</param> public static void Debug (object source, String message, params object[] PS) {debug (source. GetType (), String.        Format (Message, PS)); }///<summary>//debug information///</summary>//<param name= "source" >source</  param>//<param name= "message" >message</param> public static void Debug (Type source, string            Message) {ILog logger = GetLogger (source); if (logger. isdebugenabled) {logGer.            Debug (message); }}///<summary>//Key information///</summary>//<param name= "source" >so urce</param>//<param name= "message" >message</param> public static void Info (object sour CE, Object message) {Info (source.        GetType (), message); }///<summary>//Key information///</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param> public static void Info (Type source, Object            Message) {ILog logger = GetLogger (source); if (logger. isinfoenabled) {logger.            Info (message); }}////<summary>/////</summary>//<param name= "source" >so urce</param>//<param name= "message" >message</param> public static void Warn (object sOurce, Object message) {Warn (source.        GetType (), message); }///<summary>/////</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param> public static void Warn (Type source, Object            Message) {ILog logger = GetLogger (source); if (logger. iswarnenabled) {logger.            Warn (message); }}///<summary>///error messages///</summary>//<param name= "source" >so urce</param>//<param name= "message" >message</param> public static void Error (Object sou Rce, Object message) {Error (source.        GetType (), message); }///<summary>//Error messages///</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param> public static void Error (Type source, object message) {ILog logger = GetLogger (source); if (logger. iserrorenabled) {logger.            Error (message); }}///<summary>//failure information///</summary>//<param name= "source" >so urce</param>//<param name= "message" >message</param> public static void Fatal (Object sou Rce, Object message) {Fatal (source.        GetType (), message); }//<summary>//failure information///</summary>//<param name= "source" >source</  param>//<param name= "message" >message</param> public static void Fatal (Type source, Object            Message) {ILog logger = GetLogger (source); if (logger. isfatalenabled) {logger.            Fatal (message); }}/* Log a Message object and EXception *//////<summary>////</summary>//<param name= "source" >s ource</param>//<param name= "message" >message</param>///<param Name= "Exception" > ex</param> public static void Debug (object source, Object message, Exception Exception) {D Ebug (source.        GetType (), message, exception); }///<summary>//debug information///</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param>///<param name= "Exception" >ex</par am> public static void Debug (Type source, Object message, Exception Exception) {GetLogger (sou RCE).        Debug (message, exception); }///<summary>//Key information///</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param>//<param name= "Exception" >ex</param> public static void Info (object source, obj ECT message, Exception Exception) {Info (source.        GetType (), message, exception); }///<summary>//Key information///</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param>///<param name= "Exception" >ex</par am> public static void Info (Type source, Object message, Exception Exception) {GetLogger (sour CE).        Info (message, exception); }///<summary>/////</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param>///<param name= "Exception" >ex</par am> public static void Warn (object source, Object message, Exception Exception) {Warn (source. GettYpe (), message, exception); }///<summary>/////</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param>///<param name= "Exception" >ex</par am> public static void Warn (Type source, Object message, Exception Exception) {GetLogger (sour CE).        Warn (message, exception); }///<summary>//Error messages///</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param>///<param name= "Exception" >ex</par am> public static void Error (object source, Object message, Exception Exception) {error (SOURC        E.gettype (), message, exception); }///<summary>//Error messages///</summary>//<param name= "source" >source</ param>//<param NAMe= "message" >message</param>//<param name= "Exception" >ex</param> public static void Error (Type source, Object message, Exception Exception) {GetLogger (source).        Error (message, exception); }//<summary>//failure information///</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param>///<param name= "Exception" >ex</par am> public static void Fatal (object source, Object message, Exception Exception) {Fatal (SOURC        E.gettype (), message, exception); }//<summary>//failure information///</summary>//<param name= "source" >source</ param>//<param name= "message" >message</param>///<param name= "Exception" >ex</par  am> public static void Fatal (Type source, Object message, Exception Exception) {          GetLogger (source).        Fatal (message, exception); }    }}
Iv. Use of

Using log4net in. NET core2.0

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.