---
title: "How to trace debug log in C# using file handling?"  
description: "How to trace debug log in C# using file handling?"  
author: "ICSM Computer"  
published: 2025-05-29  
updated: 2025-05-29  
canonical: https://www.mindstick.com/interview/34180/how-to-trace-debug-log-in-c-sharp-using-file-handling  
category: "c#"  
tags: ["c#", "file handling"]  
reading_time: 2 minutes  

---

# How to trace debug log in C# using file handling?

```cs
public static class FileLogger
{
    public static async Task LogsAsync(params object[] parameters)
    {
        try
        {
            string logDirectory = HttpContext.Current.Server.MapPath("~/App_Data/DebugLogs");
            if (!Directory.Exists(logDirectory))
                Directory.CreateDirectory(logDirectory);

            string logFileName = $"DebugLog_{DateTime.UtcNow:yyyy-MM-dd}.txt";
            string logFilePath = Path.Combine(logDirectory, logFileName);

            // Format: param 1: ..., param 2: ..., etc.
            var labeledParams = parameters
                .Select((value, index) => $"param {index + 1}: {value}");

            string message = string.Join(", ", labeledParams);
            string logEntry = $"{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss.fff} | {message}{Environment.NewLine}";

            byte[] encodedText = System.Text.Encoding.UTF8.GetBytes(logEntry);

            using (var stream = new FileStream(logFilePath, FileMode.Append, FileAccess.Write, FileShare.ReadWrite, 4096, useAsync: true))
            {
                await stream.WriteAsync(encodedText, 0, encodedText.Length);
            }
        }
        catch
        {
            // Logging shouldn't break the app
        }
    }
}
```

## Answers

### Answer by ICSM Computer

```cs
public static class FileLogger
{
    public static async Task LogsAsync(params object[] parameters)
    {
        try
        {
            string logDirectory = HttpContext.Current.Server.MapPath("~/App_Data/DebugLogs");
            if (!Directory.Exists(logDirectory))
                Directory.CreateDirectory(logDirectory);

            string logFileName = $"DebugLog_{DateTime.UtcNow:yyyy-MM-dd}.txt";
            string logFilePath = Path.Combine(logDirectory, logFileName);

            // Format: param 1: ..., param 2: ..., etc.
            var labeledParams = parameters
                .Select((value, index) => $"param {index + 1}: {value}");

            string message = string.Join(", ", labeledParams);
            string logEntry = $"{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss.fff} | {message}{Environment.NewLine}";

            byte[] encodedText = System.Text.Encoding.UTF8.GetBytes(logEntry);

            using (var stream = new FileStream(logFilePath, FileMode.Append, FileAccess.Write, FileShare.ReadWrite, 4096, useAsync: true))
            {
                await stream.WriteAsync(encodedText, 0, encodedText.Length);
            }
        }
        catch
        {
            // Logging shouldn't break the app
        }
    }
}
```


---

Original Source: https://www.mindstick.com/interview/34180/how-to-trace-debug-log-in-c-sharp-using-file-handling

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
