42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using System;
|
|
|
|
// ReSharper disable once CheckNamespace
|
|
namespace Prism.Logging
|
|
{
|
|
public static class LoggerFacadeExtensions
|
|
{
|
|
public static void Error(this ILoggerFacade logger, string message, Exception e = null)
|
|
{
|
|
logger.Log(GetMessage(message, e), Category.Exception, Priority.High);
|
|
}
|
|
|
|
public static void Warning(this ILoggerFacade logger, string message, Exception e = null)
|
|
{
|
|
logger.Log(GetMessage(message, e), Category.Warn, Priority.Medium);
|
|
}
|
|
|
|
public static void Info(this ILoggerFacade logger, string message, Exception e = null)
|
|
{
|
|
logger.Log(GetMessage(message, e), Category.Info, Priority.Low);
|
|
}
|
|
|
|
public static void Debug(this ILoggerFacade logger, string message, Exception e = null)
|
|
{
|
|
logger.Log(GetMessage(message, e), Category.Debug, Priority.Low);
|
|
}
|
|
|
|
private static string GetMessage(string message, Exception e)
|
|
{
|
|
message = $"{message}{Environment.NewLine}";
|
|
|
|
if (e != null)
|
|
{
|
|
message = $"{message}{e.Message}{Environment.NewLine}" +
|
|
$"{e.StackTrace}{Environment.NewLine}";
|
|
}
|
|
|
|
return message;
|
|
}
|
|
}
|
|
}
|