Skip to content

Commit 16952ca

Browse files
committed
Add WriteException method to Logger class
1 parent 7551864 commit 16952ca

File tree

1 file changed

+63
-0
lines changed
  • src/PowerShellEditorServices/Utility

1 file changed

+63
-0
lines changed

src/PowerShellEditorServices/Utility/Logger.cs

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,69 @@ public static void Write(
9595
[CallerMemberName] string callerName = null,
9696
[CallerFilePath] string callerSourceFile = null,
9797
[CallerLineNumber] int callerLineNumber = 0)
98+
{
99+
InnerWrite(
100+
logLevel,
101+
logMessage,
102+
callerName,
103+
callerSourceFile,
104+
callerLineNumber);
105+
}
106+
107+
/// <summary>
108+
/// Writes an error message and exception to the log file.
109+
/// </summary>
110+
/// <param name="errorMessage">The error message text to be written.</param>
111+
/// <param name="errorException">The exception to be written..</param>
112+
/// <param name="callerName">The name of the calling method.</param>
113+
/// <param name="callerSourceFile">The source file path where the calling method exists.</param>
114+
/// <param name="callerLineNumber">The line number of the calling method.</param>
115+
public static void WriteException(
116+
string errorMessage,
117+
Exception errorException,
118+
[CallerMemberName] string callerName = null,
119+
[CallerFilePath] string callerSourceFile = null,
120+
[CallerLineNumber] int callerLineNumber = 0)
121+
{
122+
InnerWrite(
123+
LogLevel.Error,
124+
$"{errorMessage}\r\n\r\n{errorException.ToString()}",
125+
callerName,
126+
callerSourceFile,
127+
callerLineNumber);
128+
}
129+
130+
/// <summary>
131+
/// Writes an error message and exception to the log file.
132+
/// </summary>
133+
/// <param name="logLevel">The level at which the message will be written.</param>
134+
/// <param name="errorMessage">The error message text to be written.</param>
135+
/// <param name="errorException">The exception to be written..</param>
136+
/// <param name="callerName">The name of the calling method.</param>
137+
/// <param name="callerSourceFile">The source file path where the calling method exists.</param>
138+
/// <param name="callerLineNumber">The line number of the calling method.</param>
139+
public static void WriteException(
140+
LogLevel logLevel,
141+
string errorMessage,
142+
Exception errorException,
143+
[CallerMemberName] string callerName = null,
144+
[CallerFilePath] string callerSourceFile = null,
145+
[CallerLineNumber] int callerLineNumber = 0)
146+
{
147+
InnerWrite(
148+
logLevel,
149+
$"{errorMessage}\r\n\r\n{errorException.ToString()}",
150+
callerName,
151+
callerSourceFile,
152+
callerLineNumber);
153+
}
154+
155+
private static void InnerWrite(
156+
LogLevel logLevel,
157+
string logMessage,
158+
string callerName,
159+
string callerSourceFile,
160+
int callerLineNumber)
98161
{
99162
if (logWriter != null)
100163
{

0 commit comments

Comments
 (0)