-
Notifications
You must be signed in to change notification settings - Fork 0
Get Started
To get started, you must install it along with one of the available adapters.
Install-Package XLogger.AspNetCore
Install-Package XLogger.Adapters.Console
dotnet add package XLogger.AspNetCore
dotnet add package XLogger.Adapters.Console
You can register the XLogger in two ways.
In the CreateWebHostBuilder method in the Program class.
Use the UseXLogger() extension method and be sure to pass as a parameter which adapters you want to use.
Using only one adapter:
using XLogger;
...
public class Program
{
public static void Main(string[] args) =>
CreateWebHostBuilder(args).Build().Run();
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseXLogger(options => options.AddConsole());
}Using two adapters (In this example you will need to install the XLogger.Adapters.MongoDB package):
using XLogger;
...
public class Program
{
public static void Main(string[] args) =>
CreateWebHostBuilder(args).Build().Run();
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseXLogger(options =>
{
options.AddConsole();
options.AddMongoDB();
});
}In the ConfigureServices method in the Startup class.
Use the AddXLogger() extension method and be sure to pass as a parameter which adapters you want to use.
Using only one adapter:
using XLogger;
...
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddXLogger(options => options.AddConsole());
}
}Using two adapters (In this example you will need to install the XLogger.Adapters.MongoDB package):
using XLogger;
...
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddXLogger(options =>
{
options.AddConsole();
options.AddMongoDB();
});
}
}In both ways, XLogger structures will be injected and can be retrieved by dependency injection.
When using LoggerHub, you will be writing simultaneously to all adapters that have been registered. To do this, use the ILoggerHub interface.
using XLogger;
...
public class HomeController : Controller
{
private readonly ILoggerHub _logger;
public HomeController(ILoggerHub logger) =>
_logger = logger;
public IActionResult Index()
{
_logger.Information("Hello World!");
return View();
}
}For example, if you want to write to the Console adapter only, use the IConsoleLogger interface. For the MongoDB adapter, use the IMongoDBLogger interface, and so on.
using XLogger.Adapters.Console;
...
public class HomeController : Controller
{
private readonly IConsoleLogger _consoleLogger;
public HomeController(IConsoleLogger consoleLogger) =>
_consoleLogger = consoleLogger;
public IActionResult Index()
{
_consoleLogger.Information("Hello World!");
return View();
}
}using XLogger.Adapters.MongoDB;
...
public class HomeController : Controller
{
private readonly IMongoDBLogger _mongoLogger;
public HomeController(IMongoDBLogger mongoLogger) =>
_mongoLogger = mongoLogger;
public IActionResult Index()
{
_mongoLogger.Information("Hello World!");
return View();
}
}