TPJ.Logging 3.1.2

TPJ Logging library - Easily Log errors into a log file and/or e-mail. Simple, light weight, easy to setup!

Install-Package TPJ.Logging -Version 3.1.2
dotnet add package TPJ.Logging --version 3.1.2
<PackageReference Include="TPJ.Logging" Version="3.1.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TPJ.Logging --version 3.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

V3.0.0+ only supports .netstandard2.0, which works in .net4.6.1 + / .netcore2.0 +. If you are using .net4.5.2 / .net 4.6 you can use TPJ.Logging V2.X.X.

ASP.Net Core Website / WebAPI Set up using both E-mail and Log file.

Within  appsettings.json and add the following

{
 "TPJ": {
   "Logging": {
     "ApplicationName": "",
     "Error":{
       "LogType": "",
       "LogFileDirectory": "",
       "Email":{
         "To": "",
         "From": "",
         "SmtpClient": "",
         "SmtpUser": "",
         "SmtpPassword": "",
         "Port": "",
         "EnableSSL": ""
       }
     }
   }
 }
}

ApplicationName – (Required) Name of the application used on the log file names and e-mails

ErrorLogType – (Required) There are three types of error log types
             1) Email - Errors are sent via e-mail only (as per rest of the config settings)
             2) LogFile - Errors are logged in a txt file (named – ‘[{Environment}] {Application Name} Error Log.txt’)
             3) EmailLogFile - Does both Email and LogFile

LogFileDirectory - (Required for log file logging) The location at which the log / error file will be placed

To - (Required for e-mail logging) Error e-mails sent to; Can be a list split by ';' E.G "Test@test.com;Test2@test.com"

From - (Required for e-mail logging) E-mails are sent from this account

SmtpClient – (Required for e-mail logging) SMTP server which e-mails will be sent from

SmtpUser - (Not required) send e-mail using the given user name and password

SmtpPassword - (Not required) send e-mail using the given user name and password

Port - (Not required) port to send from

EnableSSL - (Not required) enable SSL when sending the e-mail

Example appsettings.json setup using Gmail to send error e-mails –
{
 "TPJ": {
   "Logging": {
     "ApplicationName": "Test Application",
     "Error":{
       "LogType": "EmailLogFile",
       "LogFileDirectory": "C:\Logging",
       "Email":{
         "To": "test@test.com",
         "From": "test@gmail.com ",
         "SmtpClient": "smtp.gmail.com",
         "SmtpUser": "test@gmail.com",
         "SmtpPassword": "testPassword",
         "Port": "587",
         "EnableSSL": "true"
       }
     }
   }
 }
}

Once appsettings.json is done open StartUp.cs file and go to ConfigureServices

services.AddTPJLogging();

Then using DI within asp.net core you can call IErrorLogger like so

private readonly TPJ.Logging.IErrorLogger _logger;

public HomeController(TPJ.Logging.IErrorLogger logger)
{
 _logger = logger;
}

Then within an IActionResult you might have this

public IActionResult About(Divide divide)
{
 try
 {
    var divideByZero = divide.ValueOne / divide.ValueTwo;
     return View();
 }
 catch (Exception e)
 {
     _logger.Log(System.Reflection.MethodBase.GetCurrentMethod(), e, divide);
     return RedirectToAction(nameof(Error));
 }
}

This will then log the error with the current method information, the exception details and the details of the object ‘divide’ – it will log nested classes within objects.

Version History

Version Downloads Last updated
3.1.2 313 8/19/2017
3.1.1 238 8/16/2017
3.0.0 218 8/15/2017
2.5.1.1 198 8/14/2017
2.5.1 229 7/12/2017
2.5.0 315 3/21/2017
2.2.3 354 10/28/2016
2.1.1 368 8/26/2016
1.1.3 459 4/19/2016