|
2 | 2 |
|
3 | 3 | namespace FluentLogger; |
4 | 4 |
|
| 5 | +/// <summary> |
| 6 | +/// Contains extension methods for logging with caller context. |
| 7 | +/// </summary> |
5 | 8 | public static class CallerLogContextExtensions |
6 | 9 | { |
| 10 | + /// <summary> |
| 11 | + /// Logs an information message including caller context (file name, member name, line number). |
| 12 | + /// </summary> |
| 13 | + /// <param name="context">The caller log context.</param> |
| 14 | + /// <param name="message">The message to log.</param> |
| 15 | + /// <param name="args">The arguments for the message.</param> |
7 | 16 | public static void LogInformation(this CallerLogContext context, string message, params object?[] args) |
8 | 17 | { |
9 | | - string fileName = Path.GetFileName(context.File); |
| 18 | + string? fileName = Path.GetFileName(context.File); |
10 | 19 | context.Logger.LogInformation("[{File}:{Member}:{Line}] " + message, PrependCallerArgs(fileName, context.Member, context.Line, args)); |
11 | 20 | } |
12 | 21 |
|
| 22 | + /// <summary> |
| 23 | + /// Logs an error message including caller context (file name, member name, line number). |
| 24 | + /// </summary> |
| 25 | + /// <param name="context">The caller log context.</param> |
| 26 | + /// <param name="message">The message to log.</param> |
| 27 | + /// <param name="args">The arguments for the message.</param> |
13 | 28 | public static void LogError(this CallerLogContext context, string message, params object?[] args) |
14 | 29 | { |
15 | | - string fileName = Path.GetFileName(context.File); |
| 30 | + string? fileName = Path.GetFileName(context.File); |
16 | 31 | context.Logger.LogError("[{File}:{Member}:{Line}] " + message, PrependCallerArgs(fileName, context.Member, context.Line, args)); |
17 | 32 | } |
18 | 33 |
|
| 34 | + /// <summary> |
| 35 | + /// Logs an debug message including caller context (file name, member name, line number). |
| 36 | + /// </summary> |
| 37 | + /// <param name="context">The caller log context.</param> |
| 38 | + /// <param name="message">The message to log.</param> |
| 39 | + /// <param name="args">The arguments for the message.</param> |
19 | 40 | public static void LogDebug(this CallerLogContext context, string message, params object?[] args) |
20 | 41 | { |
21 | | - string fileName = Path.GetFileName(context.File); |
| 42 | + string? fileName = Path.GetFileName(context.File); |
22 | 43 | context.Logger.LogDebug("[{File}:{Member}:{Line}] " + message, PrependCallerArgs(fileName, context.Member, context.Line, args)); |
23 | 44 | } |
24 | 45 |
|
25 | | - public static void LogWarning(this CallerLogContext ctx, string message, params object?[] args) |
| 46 | + /// <summary> |
| 47 | + /// Logs an warning message including caller context (file name, member name, line number). |
| 48 | + /// </summary> |
| 49 | + /// <param name="context">The caller log context.</param> |
| 50 | + /// <param name="message">The message to log.</param> |
| 51 | + /// <param name="args">The arguments for the message.</param> |
| 52 | + public static void LogWarning(this CallerLogContext context, string message, params object?[] args) |
26 | 53 | { |
27 | | - string fileName = Path.GetFileName(ctx.File); |
28 | | - ctx.Logger.LogWarning("[{File}:{Member}:{Line}] " + message, PrependCallerArgs(fileName, ctx.Member, ctx.Line, args)); |
| 54 | + string? fileName = Path.GetFileName(context.File); |
| 55 | + context.Logger.LogWarning("[{File}:{Member}:{Line}] " + message, PrependCallerArgs(fileName, context.Member, context.Line, args)); |
29 | 56 | } |
30 | 57 |
|
| 58 | + /// <summary> |
| 59 | + /// Prepends caller information to the arguments array. |
| 60 | + /// </summary> |
| 61 | + /// <param name="file">The file name of the caller.</param> |
| 62 | + /// <param name="member">The member name of the caller.</param> |
| 63 | + /// <param name="line">The line number of the caller.</param> |
| 64 | + /// <param name="args">The original arguments array.</param> |
| 65 | + /// <returns>A new arguments array with caller information prepended.</returns> |
31 | 66 | static object?[] PrependCallerArgs(string file, string? member, int line, object?[] args) |
32 | 67 | { |
33 | 68 | object?[] finalArgs = new object?[args.Length + 3]; |
|
0 commit comments