一,创建测试工程,log4Net组件可以自己从网上下载,也可通过Nuget进行安装。
万根网络大带宽云主机!
【点击进入】
10TB海量带宽储备! 100多个IDC节点任你选!
查 看
二,创建日志模型及数据库表,因为我们的日志信息可以输出为文本,也可以输出到数据库。
万根网络大带宽云主机!
【点击进入】
10TB海量带宽储备! 100多个IDC节点任你选!
查 看
育知同创教育—学安卓混合开发
【点击进入】
育知专注安卓混合开发培训,零基础,签协议, 保月薪10000,免费试听一个月,不满意不缴费
查 看
三,添加MyLayout,MyPatternConverter类扩展PatternLayout。
育知同创教育—学安卓混合开发
【点击进入】
育知专注安卓混合开发培训,零基础,签协议, 保月薪10000,免费试听一个月,不满意不缴费
查 看
四,添加Log4Net.config文件,进行输入方式定义。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
<log4net>
<!-- ConversionPattern 解释
%m(message):输出的日志消息,如ILog.Debug(…)输出的一条消息
%n(new line):换行
%d(datetime):输出当前语句运行的时刻
%r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数
%t(thread id):当前语句所在的线程ID
%p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等
%c(class):当前日志对象的名称
%L:输出语句所在的行号
%F:输出语句所在的文件名
%-数字:表示该项的最小长度,如果不够,科技网,则用空格填充
-->
<!--定义输出到控制台命令行中-->
<logger>
<level value="ALL"/>
<appender-ref ref="ConsoleAppender" />
</logger>
<!--定义输出到控制台命令行中-->
<appender type="log4net.Appender.ConsoleAppender">
<layout type="Log4NetTest.MyLayout">
<param value="日志时间:%d %n日志级别:%-5p %n用 户 ID:%Property{UserID} %n用户姓名:%Property{UserName} %n日志信息:%Property{Message} %n异常信息:%exception %n%n" />
</layout>
</appender>
<!--定义输出到windows事件中-->
<appender type="log4net.Appender.EventLogAppender">
<layout type="Log4NetTest.MyLayout">
<param value="日志时间:%d %n日志级别:%-5p %n用 户 ID:%Property{UserID} %n用户姓名:%Property{UserName} %n日志信息:%Property{Message} %n异常信息:%exception %n%n" />
</layout>
</appender>
<!--定义输出到文件中-->
<appender type="log4net.Appender.RollingFileAppender">
<param value="Log\\" />
<param value="true" />
<param value="10240" />
<param value="100" />
<param value="false" />
<param value="yyyyMMdd" />
<param value="Date" />
<layout type="Log4NetTest.MyLayout">
<param value="日志时间:%d %n日志级别:%-5p %n用 户 ID:%Property{UserID} %n用户姓名:%Property{UserName} %n日志信息:%Property{Message} %n异常信息:%exception %n%n" />
</layout>
</appender>
<!--定义输出到数据库-->
<appender 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=.\SQL2008initial catalog=Demointegrated security=falsepersist security info=TrueUser ID=saPassword=1qaz" />
<!--日志数据库脚本-->
<commandText value="INSERT INTO LogInfo ([LogDate],[LogLevel],[UserId],[UserName],[Message],[Exception]) VALUES (@LogDate, @LogLevel,@UserId,@UserName, @Message, @Exception)" />
<!--日志时间LogDate -->
<parameter>
<parameterName value="@LogDate" />
<dbType value="String" />
<size value="30" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy-MM-dd HH:mm:ss}" />
</layout>
</parameter>
<!--日志类型LogLevel -->
<parameter>
<parameterName value="@LogLevel" />
<dbType value="String" />
<size value="10" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" />
</layout>
</parameter>
<!--自定义UserId -->
<parameter>
<parameterName value="@UserId" />
<dbType value="String" />
<size value="20" />
<layout type="Log4NetTest.MyLayout">
<conversionPattern value="%Property{UserID}" />
</layout>
</parameter>
<!--自定义UserName -->
<parameter>
<parameterName value="@UserName" />
<dbType value="String" />
<size value="50" />
<layout type="Log4NetTest.MyLayout">
<conversionPattern value="%Property{UserName}" />
</layout>
</parameter>
<!--自定义Message -->
<parameter>
<parameterName value="@Message" />
<dbType value="String" />
<size value="200" />
<layout type="Log4NetTest.MyLayout">
<conversionPattern value="%Property{Message}" />
</layout>
</parameter>
<!--异常信息Exception -->
<parameter>
<parameterName value="@Exception" />
<dbType value="String" />
<size value="4000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
</appender>
</log4net>
</configuration>
五,添加LogHelper.cs类进行各自信息的写入操作。
using System
using System.Diagnostics
using System.IO
using System.Windows.Forms
using log4net
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace Log4NetTest
{
public class LogHelper
{
/// <summary>
/// LoggerName
/// </summary>
public static string LoggerName = string.Empty
/// <summary>
/// 用户ID
/// </summary>
public static string UserID = string.Empty
/// <summary>
/// 用户名称
/// </summary>
public static string UserName = string.Empty
private static ILog iLog
private static LogEntity logEntity
/// <summary>
/// 接口
/// </summary>
private static ILog log
{
get
{
string path = Application.StartupPath + @”\Log4Net.config”
log4net.Config.XmlConfigurator.Configure(new FileInfo(path))
if (iLog == null)
{
iLog = log4net.LogManager.GetLogger(LoggerName)
}
else
{
if (iLog.Logger.Name != LoggerName)
{
iLog = log4net.LogManager.GetLogger(LoggerName)
}
}
return iLog
}
}
高防云主机可以抗DDoS攻击,下面以美国高防云主机为例介绍其相关优势:1、无备案、无线路限制
国内创建网站的用户逃不掉一个极其繁琐的操作,那就是备案,针对不同的机房,其要求时限的也不尽相同,有的时候必须保证备案后才可以接入,没有备案号域名方根本没有机会和权利接入,不然就会面临网站关闭的风险。而美国高防云主机省去了备案操作,同时用户也省去了对于国内电信跟网通互联不互通的担心。关键的是,用户购买该产品后可以即买即用,该产品还同时支持多个网站上线,如此方便,受广大站长欢迎也是早晚的事情。
2、抵御网络攻击
一听名字,高防,其安全性不言而喻。很多企业在计划建站时都会倾向于选择一款能够同时阻止DDoS、CC等外来攻击的美国高防云主机。不仅如此,用户信赖该产品的主要原因还在于其提供了海量带宽,采用了一流的流量牵引技术,与恶意软件或者攻击防御所代表的安全性相结合,提供安全性能双保障。
3、访问速度快
访问速度快也算是性能方面最直观的一种体现。美国高防云主机由于机房设在美国,无疑对北美、欧洲客户最友好托管无疑是最佳选择,当然因为大部分产品所处机房位于洛杉矶、硅谷一带,与中国大陆仅隔一座太平洋,国内用户访问速度也不会差,甚至可以说与国外用户相差无几。一些著名品牌的相关产品会提供BGP国际带宽或者支持CN2线路,方便路由快捷传输。
4、价格低
不要被配置高价格就一定贵的惯性思维所打扰,实际上美国高防云主机价格比普通美国高防服务器价格便宜很多,很多小站长也是可以用的起的。而且该产品IP资源丰富,也十分有利于搜索引擎优化。就这一点上,用户只能想到该产品提供DDoS防御服务显然就有点落伍了。
WHT中文站针对相关产品提供商的产品信息和排名情况进行了介绍,值得参考。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)