2017-07-20 11:21:28 +02:00
|
|
|
|
using System;
|
2014-11-20 16:11:04 +00:00
|
|
|
|
|
2015-01-07 17:23:24 +11:00
|
|
|
|
namespace Umbraco.Core.Logging
|
2014-11-20 16:11:04 +00:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// Defines the logging service.
|
2014-11-20 16:11:04 +00:00
|
|
|
|
/// </summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <remarks>
|
|
|
|
|
|
/// <para>Message templates in logging methods follow the Message Templates specification
|
|
|
|
|
|
/// available at https://messagetemplates.org/ in order to support structured logging.</para>
|
|
|
|
|
|
/// <para>Implementations must ensure that they support these templates. Note that the
|
|
|
|
|
|
/// specification includes support for traditional C# numeric placeholders.</para>
|
|
|
|
|
|
/// <para>For instance, "Processed {Input} in {Time}ms."</para>
|
|
|
|
|
|
/// </remarks>
|
2015-01-07 17:23:24 +11:00
|
|
|
|
public interface ILogger
|
2014-11-20 16:11:04 +00:00
|
|
|
|
{
|
2018-08-30 19:08:55 +02:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Determines if logging is enabled at a specified level, for a reporting type.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="level">The level.</param>
|
|
|
|
|
|
bool IsEnabled(Type reporting, LogLevel level);
|
|
|
|
|
|
|
2018-08-28 15:24:45 +10:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a fatal message with an exception.
|
2018-08-28 15:24:45 +10:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
void Fatal(Type reporting, Exception exception, string message);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a fatal exception.
|
2018-08-28 15:24:45 +10:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <remarks>The message string is unspecified and is implementation-specific.</remarks>
|
2018-08-28 15:24:45 +10:00
|
|
|
|
void Fatal(Type reporting, Exception exception);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a fatal message.
|
2018-08-28 15:24:45 +10:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
void Fatal(Type reporting, string message);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a fatal message with an exception.
|
2018-08-28 15:24:45 +10:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-28 15:24:45 +10:00
|
|
|
|
void Fatal(Type reporting, Exception exception, string messageTemplate, params object[] propertyValues);
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a fatal message.
|
2018-08-28 15:24:45 +10:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-28 15:24:45 +10:00
|
|
|
|
void Fatal(Type reporting, string messageTemplate, params object[] propertyValues);
|
|
|
|
|
|
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs an error message with an exception.
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
2018-08-17 15:41:58 +01:00
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
void Error(Type reporting, Exception exception, string message);
|
2015-01-07 17:23:24 +11:00
|
|
|
|
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs an error exception.
|
2018-08-23 12:14:07 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <remarks>The message string is unspecified and is implementation-specific.</remarks>
|
2018-08-23 12:14:07 +01:00
|
|
|
|
void Error(Type reporting, Exception exception);
|
|
|
|
|
|
|
2018-08-23 14:43:38 +01:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs an error message.
|
2018-08-23 14:43:38 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
void Error(Type reporting, string message);
|
|
|
|
|
|
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs an error message with an exception.
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-17 15:41:58 +01:00
|
|
|
|
void Error(Type reporting, Exception exception, string messageTemplate, params object[] propertyValues);
|
2018-08-23 14:43:38 +01:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs an error message.
|
2018-08-23 14:43:38 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-23 14:43:38 +01:00
|
|
|
|
void Error(Type reporting, string messageTemplate, params object[] propertyValues);
|
|
|
|
|
|
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs a warning message.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
2018-04-03 16:38:31 +10:00
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
void Warn(Type reporting, string message);
|
2014-11-20 16:11:04 +00:00
|
|
|
|
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a warning message.
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-14 13:16:22 +01:00
|
|
|
|
void Warn(Type reporting, string messageTemplate, params object[] propertyValues);
|
|
|
|
|
|
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs a warning message with an exception.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
void Warn(Type reporting, Exception exception, string message);
|
|
|
|
|
|
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a warning message with an exception.
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="exception">An exception.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-14 13:16:22 +01:00
|
|
|
|
void Warn(Type reporting, Exception exception, string messageTemplate, params object[] propertyValues);
|
|
|
|
|
|
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs an information message.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
void Info(Type reporting, string message);
|
|
|
|
|
|
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a info message.
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-14 13:16:22 +01:00
|
|
|
|
void Info(Type reporting, string messageTemplate, params object[] propertyValues);
|
|
|
|
|
|
|
2016-09-11 19:57:33 +02:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs a debugging message.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
|
|
|
|
|
void Debug(Type reporting, string message);
|
2018-08-29 09:06:15 +02:00
|
|
|
|
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a debug message.
|
2018-08-14 13:16:22 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-14 13:16:22 +01:00
|
|
|
|
void Debug(Type reporting, string messageTemplate, params object[] propertyValues);
|
2018-08-15 16:39:35 +01:00
|
|
|
|
|
2018-08-17 11:26:22 +01:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Logs a verbose message.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
|
|
|
|
|
/// <param name="message">A message.</param>
|
2018-08-15 16:39:35 +01:00
|
|
|
|
void Verbose(Type reporting, string message);
|
|
|
|
|
|
|
2018-08-17 11:26:22 +01:00
|
|
|
|
/// <summary>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// Logs a verbose message.
|
2018-08-17 11:26:22 +01:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="reporting">The reporting type.</param>
|
2018-08-29 09:06:15 +02:00
|
|
|
|
/// <param name="messageTemplate">A message template.</param>
|
|
|
|
|
|
/// <param name="propertyValues">Property values.</param>
|
2018-08-15 16:39:35 +01:00
|
|
|
|
void Verbose(Type reporting, string messageTemplate, params object[] propertyValues);
|
2014-11-20 16:11:04 +00:00
|
|
|
|
}
|
2017-07-20 11:21:28 +02:00
|
|
|
|
}
|