diff --git a/src/Umbraco.Core/Logging/ILogger.cs b/src/Umbraco.Core/Logging/ILogger.cs
index ec6d8edf31..2162b10bfe 100644
--- a/src/Umbraco.Core/Logging/ILogger.cs
+++ b/src/Umbraco.Core/Logging/ILogger.cs
@@ -5,10 +5,17 @@ namespace Umbraco.Core.Logging
///
/// Defines the logging service.
///
+ ///
+ /// Message templates in logging methods follow the Message Templates specification
+ /// available at https://messagetemplates.org/ in order to support structured logging.
+ /// Implementations must ensure that they support these templates. Note that the
+ /// specification includes support for traditional C# numeric placeholders.
+ /// For instance, "Processed {Input} in {Time}ms."
+ ///
public interface ILogger
{
///
- /// Logs a fatal message.
+ /// Logs a fatal message with an exception.
///
/// The reporting type.
/// An exception.
@@ -16,38 +23,39 @@ namespace Umbraco.Core.Logging
void Fatal(Type reporting, Exception exception, string message);
///
- /// Logs a fatal message NOTE: This will log an empty message string
+ /// Logs a fatal exception.
///
/// The reporting type.
/// An exception.
+ /// The message string is unspecified and is implementation-specific.
void Fatal(Type reporting, Exception exception);
///
- /// Logs a fatal message WITHOUT EX
+ /// Logs a fatal message.
///
/// The reporting type.
/// A message.
void Fatal(Type reporting, string message);
///
- /// Logs a fatal message - using a structured log message
+ /// Logs a fatal message with an exception.
///
/// The reporting type.
/// An exception.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Fatal(Type reporting, Exception exception, string messageTemplate, params object[] propertyValues);
///
- /// Logs a fatal message WITHOUT EX - using a structured log message
+ /// Logs a fatal message.
///
/// The reporting type.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Fatal(Type reporting, string messageTemplate, params object[] propertyValues);
///
- /// Logs an error message.
+ /// Logs an error message with an exception.
///
/// The reporting type.
/// An exception.
@@ -55,34 +63,35 @@ namespace Umbraco.Core.Logging
void Error(Type reporting, Exception exception, string message);
///
- /// Logs an error message NOTE: This will log an empty message string
+ /// Logs an error exception.
///
/// The reporting type.
/// An exception.
+ /// The message string is unspecified and is implementation-specific.
void Error(Type reporting, Exception exception);
///
- /// Logs an error message WITHOUT EX
+ /// Logs an error message.
///
/// The reporting type.
/// A message.
void Error(Type reporting, string message);
///
- /// Logs an error message - using a structured log message
+ /// Logs an error message with an exception.
///
/// The reporting type.
/// An exception.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Error(Type reporting, Exception exception, string messageTemplate, params object[] propertyValues);
///
- /// Logs an error message WITHOUT EX - using a structured log message
+ /// Logs an error message.
///
/// The reporting type.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Error(Type reporting, string messageTemplate, params object[] propertyValues);
///
@@ -93,11 +102,11 @@ namespace Umbraco.Core.Logging
void Warn(Type reporting, string message);
///
- /// Logs a warning message - using a structured log message
+ /// Logs a warning message.
///
/// The reporting type.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Warn(Type reporting, string messageTemplate, params object[] propertyValues);
///
@@ -109,12 +118,12 @@ namespace Umbraco.Core.Logging
void Warn(Type reporting, Exception exception, string message);
///
- /// Logs a warning message with an exception - using a structured log message
+ /// Logs a warning message with an exception.
///
/// The reporting type.
/// An exception.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Warn(Type reporting, Exception exception, string messageTemplate, params object[] propertyValues);
///
@@ -125,11 +134,11 @@ namespace Umbraco.Core.Logging
void Info(Type reporting, string message);
///
- /// Logs a info message - using a structured log message
+ /// Logs a info message.
///
/// The reporting type.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Info(Type reporting, string messageTemplate, params object[] propertyValues);
///
@@ -138,13 +147,13 @@ namespace Umbraco.Core.Logging
/// The reporting type.
/// A message.
void Debug(Type reporting, string message);
-
+
///
- /// Logs a debug message - using a structured log message
+ /// Logs a debug message.
///
/// The reporting type.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Debug(Type reporting, string messageTemplate, params object[] propertyValues);
///
@@ -155,12 +164,11 @@ namespace Umbraco.Core.Logging
void Verbose(Type reporting, string message);
///
- /// Logs a verbose message - using a structured log message
+ /// Logs a verbose message.
///
/// The reporting type.
- /// The message template that includes property values
- /// Property values to log & update in message template
+ /// A message template.
+ /// Property values.
void Verbose(Type reporting, string messageTemplate, params object[] propertyValues);
-
}
}