# Logger

> Initializes a new instance of the Logger.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule
* **Implements:** [ILogger](/engine/6000.0/script-reference/unityengine/ilogger.md), [ILogHandler](/engine/6000.0/script-reference/unityengine/iloghandler.md)

```csharp
public class Logger : ILogger, ILogHandler
```

## Remarks

Create a new instance or use default [Debug.unityLogger](/engine/6000.0/script-reference/unityengine/debug/unitylogger.md). Additional Resources: [ILogger](/engine/6000.0/script-reference/unityengine/ilogger.md), [ILogHandler](/engine/6000.0/script-reference/unityengine/iloghandler.md).

## Examples

```csharp
using UnityEngine;
using System.Collections;
using System.IO;
using System;

public class MyLogHandler : ILogHandler
{
    public void LogFormat(LogType logType, UnityEngine.Object context, string format, params object[] args)
    {
        Debug.unityLogger.logHandler.LogFormat(logType, context, format, args);
    }

    public void LogException(Exception exception, UnityEngine.Object context)
    {
        Debug.unityLogger.LogException(exception, context);
    }
}

public class MyGameClass : MonoBehaviour
{
    private static string kTAG = "MyGameTag";
    private Logger myLogger;

    void Start()
    {
        myLogger = new Logger(new MyLogHandler());

        myLogger.Log(kTAG, "MyGameClass Start.");
    }
}
```

## Constructors

| Constructor                                                                                   | Description             |
| --------------------------------------------------------------------------------------------- | ----------------------- |
| [Logger(UnityEngine.ILogHandler)](/engine/6000.0/script-reference/unityengine/logger/ctor.md) | Create a custom Logger. |

## Properties

| Property                                                                             | Description                                                                       |
| ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- |
| [filterLogType](/engine/6000.0/script-reference/unityengine/logger/filterlogtype.md) | To selective enable debug log message.                                            |
| [logEnabled](/engine/6000.0/script-reference/unityengine/logger/logenabled.md)       | To runtime toggle debug logging \[ON/OFF].                                        |
| [logHandler](/engine/6000.0/script-reference/unityengine/logger/loghandler.md)       | Set  [Logger](/engine/6000.0/script-reference/unityengine/logger.md).ILogHandler. |

## Methods

| Method                                                                                     | Description                                                                                                          |
| ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------- |
| [IsLogTypeAllowed](/engine/6000.0/script-reference/unityengine/logger/islogtypeallowed.md) | Check logging is enabled based on the LogType.                                                                       |
| [Log](/engine/6000.0/script-reference/unityengine/logger/log.md)                           | Logs message to the Unity Console using default logger.                                                              |
| [LogError](/engine/6000.0/script-reference/unityengine/logger/logerror.md)                 | A variant of [Logger.Log](/engine/6000.0/script-reference/unityengine/logger/log.md) that logs an error message.     |
| [LogException](/engine/6000.0/script-reference/unityengine/logger/logexception.md)         | A variant of [Logger.Log](/engine/6000.0/script-reference/unityengine/logger/log.md) that logs an exception message. |
| [LogFormat](/engine/6000.0/script-reference/unityengine/logger/logformat.md)               | Logs a formatted message.                                                                                            |
| [LogWarning](/engine/6000.0/script-reference/unityengine/logger/logwarning.md)             | A variant of [Logger.Log](/engine/6000.0/script-reference/unityengine/logger/log.md) that logs an warning message.   |
