LOG4,LOG4NET,LOG4 configuration, log4net use instance, use LOG4 output log in. NET, LOG4 record log

Source: Internet
Author: User
Tags datetime log4net log4j

LOG4,LOG4NET,LOG4 configuration, log4net use instance, use LOG4 output log in. NET, LOG4 record log

LOG4 Configuration

First, the common output format

%c lists the full name of the logger namespace, such as adding the {< layer to indicate the namespace of the specified number of layers from the deepest layer
%x outputs logs by MDC (mapped diagnostic context, thread mapping table). It is commonly used for multiple clients to connect to the same server, which makes it easier for the server to differentiate between the logs that the client accesses.
%p Logging Information level
%d%d{< date format}: Log information generation time, using ISO8601-defined date format
%c Log information location (full class name)
Log specific information generated by%m
%n Output Log Message Wrapping
%F Displays the source file name of the call logger
%l where the output log event occurs, including the class name, the thread that occurred, and the number of lines in the code
%l shows the line of code that calls logger
%m Display method names that call logger
%r shows the number of milliseconds that have elapsed since the program was started and when the log was logged
%t output The name of the thread that generated the log event
Percent% shows a
Second, log4j.properties

#控制包中日志输出级别
log4j.logger.org.apache.struts = Debug

# Apply to Console
Log4j.appender.console=org.apache.log4j.consoleappender
Log4j.appender.threshold=debug
Log4j.appender.console.target=system.out
Log4j.appender.console.layout=org.apache.log4j.patternlayout
Log4j.appender.console.layout.conversionpattern=[framework]%d-%-4r [%t]%-5p%c%x-%m%n
#log4j. Appender.console.layout.conversionpattern=[start]%d{date}[date]%n%p[priority]%n%x[ndc]%n%t[thread] n%c[ category]%n%m[message]%n%n

#应用于文件
Log4j.appender.file=org.apache.log4j.fileappender
Log4j.appender.file.file=file.log
Log4j.appender.file.append=false
Log4j.appender.file.layout=org.apache.log4j.patternlayout
Log4j.appender.file.layout.conversionpattern=[framework]%d-%-4r [%t]%-5p%c%x-%m%n
# Use this layout to Logfactor 5 analysis

# Applies to file rollback
Log4j.appender.rolling_file=org.apache.log4j.rollingfileappender
Log4j.appender.ROLLING_FILE. Threshold=error
Log4j.appender.ROLLING_FILE. File=rolling.log
Log4j.appender.ROLLING_FILE. Append=true
Log4j.appender.ROLLING_FILE. maxfilesize=100kb
Log4j.appender.ROLLING_FILE. maxbackupindex=10
Log4j.appender.rolling_file.layout=org.apache.log4j.patternlayout
Log4j.appender.rolling_file.layout.conversionpattern=[framework]%d-%-4r [%t]%-5p%c%x-%m%n


#应用于socket
Log4j.appender.socket=org.apache.log4j.net.socketappender
Log4j.appender.socket.remotehost=localhost
log4j.appender.socket.port=5001
Log4j.appender.socket.locationinfo=true
# Set up for Log Facter 5
Log4j.appender.socket.layout=org.apache.log4j.patternlayout
log4j.appender.socet.layout.conversionpattern=[start]%d{date}[date]%n%p[priority]%n%x[ndc]%n%t[thread]%n%c[ category]%n%m[message]%n%n


# Log Factor 5 Appender
Log4j.appender.lf5_appender=org.apache.log4j.lf5.lf5appender
Log4j.appender.LF5_APPENDER. maxnumberofrecords=2000

# Send log to Mail
Log4j.appender.mail=org.apache.log4j.net.smtpappender
Log4j.appender.mail.threshold=fatal
log4j.appender.mail.buffersize=10
Log4j.appender.mail.from=web@www.wuset.com
Log4j.appender.mail.smtphost=www.wusetu.com
LOG4J.APPENDER.MAIL.SUBJECT=LOG4J message
Log4j.appender.mail.to=web@www.wusetu.com
Log4j.appender.mail.layout=org.apache.log4j.patternlayout
Log4j.appender.mail.layout.conversionpattern=[framework]%d-%-4r [%t]%-5p%c%x-%m%n

# for databases
Log4j.appender.database=org.apache.log4j.jdbc.jdbcappender
Log4j.appender.database.url=jdbc:mysql://localhost:3306/test
Log4j.appender.database.driver=com.mysql.jdbc.driver
Log4j.appender.database.user=root
log4j.appender.database.password=
Log4j.appender.database.sql=insert into log4j (message) VALUES (' [Framework]%d-%-4r [%t]%-5p%c%x-%m%n ')
Log4j.appender.database.layout=org.apache.log4j.patternlayout
Log4j.appender.database.layout.conversionpattern=[framework]%d-%-4r [%t]%-5p%c%x-%m%n

#每日回滚日志文件
Log4j.appender.a1=org.apache.log4j.dailyrollingfileappender
log4j.appender.a1.file=samplemessages.log4j
Log4j.appender.a1.datepattern=yyyymmdd-hh '. log4j '
Log4j.appender.a1.layout=org.apache.log4j.xml.xmllayout

#自定义Appender
log4j.appender.im = Net.cybercorlin.util.logger.appender.IMAppender
Log4j.appender.im.host = Mail.cybercorlin.net
Log4j.appender.im.username = Username
Log4j.appender.im.password = password
Log4j.appender.im.recipient = Corlin@cybercorlin.net
Log4j.appender.im.layout=org.apache.log4j.patternlayout
Log4j.appender.im.layout.ConversionPattern =[framework]%d-%-4r [%t]%-5p%c%x-%m%n

log4net Use Instances

Log4net is an excellent open source log project, now I use to write a demo, as follows

0: Preparation
Go to http://logging.apache.org/, download log4net, latest version 1.2,
Create a ASP.net Web project and add Log4net.dll to the reference

1: Set up a data table
CREATE TABLE [dbo]. [Log] (
[ID] [int] IDENTITY (1, 1) not NULL,
[Date] [DateTime] Not NULL,
[Thread] [varchar] (255) Not NULL,
[Level] [varchar] () not NULL,
[Logger] [varchar] (255) Not NULL,
[Message] [varchar] (4000) Not NULL,
[Exception] [varchar] (Watts) NULL
)

2: Write the configuration file
<configuration>
<configSections>
<section name= "log4net" type= "log4net". Config.log4netconfigurationsectionhandler, log4net "/>
</configSections>

<system.web>
<!--
......
-->
</system.web>

<log4net>

<root>
<level value= "All"/>
<appender-ref ref= "Adonetappender"/>
</root>

<!--
<logger name= "Testapp.logging" >
<level value= "All"/>
<appender-ref ref= "Adonetappender"/>

</logger>
-->

<appender name= "Adonetappender" type= "log4net". Appender.adonetappender ">
<buffersize value= "Ten"/>
<connectiontype value= "System.Data.SqlClient.SqlConnection, System.Data, version=1.0.3300.0, Culture=neutral, publickeytoken=b77a5c561934e089 "/>
<connectionstring value= "Server=localhost;database=demo;user id=sa;password=123456"/>
<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>
<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>

</log4net>

</configuration>

Special note <buffersize value= "Ten"/>, this is the log information record of the buffer size (for example, only log information records up to 10,
Log information log will be written to the database)

3: In the Global.asax.cs
protected void Application_Start (Object sender, EventArgs e)
{
Read configuration information
Log4net. Config.DOMConfigurator.Configure ();
}
4: A demo class that uses log
Using System;

Namespace Log
{
<summary>
Summary description of the mylog.
</summary>
public class MyLog
{
private static readonly log4net. ILog log = log4net. Logmanager.getlogger (typeof (MyLog));
public static void Loginfo ()
{
Log. Info ("log Logs");
}

public static void Logerror ()
{
Log. Info ("Log Error");
}
}
}

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.