using Castle.Core.Logging; //1: 导入日志的命名空间,Castle.Core.Logging
public class TaskAppService : ITaskAppService
{
//2:通过依赖注入获取日志记录器对象。
这里先定义了一个ILogger类型的public属性Logger,这个对象就是我们用来记录日志的对象。在创建了TaskAppService对象(就是我们应用中定义的任务)以后,通过属性注入的方式来实现。
public ILogger Logger { get; set; }
public TaskAppService()
{
//3: 如果没有日志记录器,将日志记录器返回一个空的实例,不写日志。这是依赖注入的最佳实现方式,
// 如果你不定义这个空的日志记录器,当我们获取对象引用并且实例化的时候,就会产生异常。
// 这么做,保证了对象不为空。所以,换句话说,不设置日志记录器,就不记录日志,返回一个null的对象。
// NullLogger对象实际上什么都木有,空的。这么做,才能保证我们定义的类在实例化时正常运作。
Logger = NullLogger.Instance;
}
public void CreateTask(CreateTaskInput input)
{
//4: 写入日志
Logger.Info("Creating a new task with description: " + input.Description);
//TODO: save task to database...
}
}
public class HomeController : SimpleTaskSystemControllerBase
{
public ActionResult Index()
{
Logger.Debug("A sample log message...");
return View();
}
}
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender" >
<file value="Logs/Logs.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="10000KB" />
<staticLogFileName value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5level %date [%-5.5thread] %-40.40logger - %message%newline" />
</layout>
</appender>
<root>
<appender-ref ref="RollingFileAppender" />
<level value="DEBUG" />
</root>
<logger name="NHibernate">
<level value="WARN" />
</logger>
</log4net>
public class MvcApplication : AbpWebApplication
{
protected override void Application_Start(object sender, EventArgs e)
{
IocManager.Instance.IocContainer.AddFacility<LoggingFacility>(f => f.UseLog4Net().WithConfig("log4net.config"));
base.Application_Start(sender, e);
}
}
abp.log.warn('a sample log message...');
abp.log.debug('...');
abp.log.info('...');
abp.log.warn('...');
abp.log.error('...');
abp.log.fatal('...');
public class MyModule : AbpModule
{
public override void PreInitialize()
{
Configuration.Auditing.IsEnabled = false;
}
//...
}
IsEnabled: 用于设置完全启用或禁用审计系统。默认值:true. IsEnabledForAnonymousUsers:如果设置成ture,未登陆的用户的审计日志也会保存。默认值: false. MvcControllers: 在ASP.NET MVC 控制器中使用审计日志 IsEnabled: 在ASP.NET MVC中启用(true)或禁用(false)审计日志. 默认值: true. IsEnabledForChildActions: 为MVC actions启用(true)或禁用(false)审计日志. 默认值: false. Selectors: 选择使用其他类来处理审计日志的存储。
Configuration.Auditing.Selectors.Add(
new NamedTypeSelector(
"Abp.ApplicationServices",
type => typeof (IApplicationService).IsAssignableFrom(type)
)
);
[Audited]
public class MyClass
{
public void MyMethod1(int a)
{
//...
}
[DisableAuditing]
public void MyMethod2(string b)
{
//...
}
public void MyMethod3(int a, int b)
{
//...
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有