I don't know C#. Should I assume this is the way to write comments? That's just terrible.
/// <summary>
/// Log a message with the specified <paramref name="logLevel"/>.
/// </summary>
/// <param name="logLevel">The level of log entry.</param>
/// <param name="exception">The exception to log.</param>
/// <param name="message">The format of the message object to log.<see cref="string.Format(string,object[])"/> </param>
/// <param name="arg1">The first argument for message formatting.</param>
[StringFormatMethod("format")]
void Log<T1>(LogLevel logLevel, [CanBeNull] Exception exception, string message, T1 arg1);