The markdown behind the website for webbutvckling backend
Tisdag den 1:e februari 2019
Detta är insperation till material man kan läsa för att öka chansen för VG.
Selenium:
Båda dissa övningar bygger vidra på ert fia API som ni gjorde i projekt 2, om ni inte önsker att använa ert eget fia API kan ni avända detta istället: skjohansen/LudoGameApi.
Använder ni ert eget api, jobba då i en ny branch, använder ni ett anat API gör en fork av det.
Skriv ett unittest test av en controller i Web APIet.
I program.cs lägg till ConfigureLogging:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddDebug();
logging.AddConsole();
})
.Build();
I appsetting.json kan man konfigurera med ett Logging-objekt:
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
Och sen kan man använda sin logging olika ställen, som t.ex. i en Controller, dock måsta man se till att ha en instans av loggingen, detta göras enklas med Depency Injection.
public class HomeController : Controller
{
private ILogger _logger;
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
_logger.LogInformation("Request against the action {Action} in {Controller}", "Index", "Home");
}
}
Om man vill logga till SEQ kan man måsta man i program.cs lägga till en AddSeq:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging((hostingContext, logging) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging"));
logging.AddDebug();
logging.AddConsole();
logging.AddSeq();
})
.Build();
I appsetting.json kan man konfigurera sin SEQ med ett seq-objekt:
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
},
"Seq": {
"ServerUrl": "http://localhost:5341",
"ApiKey": "1234567890",
"MinimumLevel": "Trace",
"LevelOverride": {
"Microsoft": "Warning"
}
}
}
Man kan använda det inbygde logging ramverk i .NET eller ett alternativ som Serilog.
Log.Information("The time is {Now}", DateTime.Now);
Log.Information("Request against the action {Action} in {Controller}", "Index", "Home");
Försätt med projekt 3