Contents
ASP.NET MVC¶
These steps describe how to install and configure KissLog for a ASP.NET MVC application.
A full working example can be found here.
Instructions¶
Install NuGet Package
PM> Install-Package KissLog.AspNet.Mvc
Update web.config
<configuration>
<appSettings>
<add key="LogBee.OrganizationId" value="_OrganizationId_" />
<add key="LogBee.ApplicationId" value="_ApplicationId_" />
<add key="LogBee.ApiUrl" value="https://api.logbee.net" />
</appSettings>
</configuration>
Update Global.asax
using KissLog;
using KissLog.AspNet.Mvc;
using KissLog.AspNet.Web;
using KissLog.CloudListeners.Auth;
using KissLog.CloudListeners.RequestLogsListener;
namespace AspNet.Mvc
{
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
// Add KissLog exception filter
GlobalFilters.Filters.Add(new KissLogWebMvcExceptionFilterAttribute());
ConfigureKissLog();
}
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
if (exception != null)
{
var logger = Logger.Factory.Get();
logger.Error(exception);
if (logger.AutoFlush() == false)
{
Logger.NotifyListeners(logger);
}
}
}
private void ConfigureKissLog()
{
KissLogConfiguration.Listeners
.Add(new RequestLogsApiListener(new Application(ConfigurationManager.AppSettings["KissLog.OrganizationId"], ConfigurationManager.AppSettings["KissLog.ApplicationId"]))
{
ApiUrl = ConfigurationManager.AppSettings["KissLog.ApiUrl"]
});
}
// Register HttpModule
public static KissLogHttpModule KissLogHttpModule = new KissLogHttpModule();
public override void Init()
{
base.Init();
KissLogHttpModule.Init(this);
}
}
}
Write logs using IKLogger
using KissLog;
using System.Web.Mvc;
namespace AspNet.Mvc.Controllers
{
public class HomeController : Controller
{
private readonly IKLogger _logger;
public HomeController()
{
_logger = Logger.Factory.Get();
}
public ActionResult Index()
{
_logger.Trace("Trace message");
_logger.Debug("Debug message");
_logger.Info("Info message");
return View();
}
}
}
For technical support, questions or any feedback, please feel free to send us a message and we will get back to you.