---
sidebar_position: 3
---

# ログ

Wailsでは、GoまたはJavaScriptから呼び出すことのできるロギングメカニズムを用意しています。 一般的なロガーと同じように、ログにはいくつかのログレベルがあります:

- Trace
- Debug
- Info
- Warning
- Error
- Fatal

ロガーは、設定されている出力ログレベル以上のログメッセージを出力します。 例えば、出力ログレベルを`Debug`に設定した場合、`Trace`以外のすべてのレベルのメッセージが出力されます。

### LogPrint

指定されたメッセージをRawメッセージとしてロギングします。

Go: `LogPrint(ctx context.Context, message string)`<br/> JS: `LogPrint(message: string)`

### LogPrintf

指定されたメッセージをRawメッセージとしてロギングします。

Go: `LogPrintf(ctx context.Context, format string, args ...interface{})`<br/>

### LogTrace

指定されたメッセージを`Trace`ログレベルでロギングします。

Go: `LogTrace(ctx context.Context, message string)`<br/> JS: `LogTrace(message: string)`

### LogTracef

指定されたメッセージを`Trace`ログレベルでロギングします。

Go: `LogTracef(ctx context.Context, format string, args ...interface{})`<br/>

### LogDebug

指定されたメッセージを`Debug`ログレベルでロギングします。

Go: `LogDebug(ctx context.Context, message string)`<br/> JS: `LogDebug(message: string)`

### LogDebugf

指定されたメッセージを`Debug`ログレベルでロギングします。

Go: `LogDebugf(ctx context.Context, format string, args ...interface{})`<br/>

### LogInfo

指定されたメッセージを`Info`ログレベルでロギングします。

Go: `LogInfo(ctx context.Context, message string)`<br/> JS: `LogInfo(message: string)`

### LogInfof

指定されたメッセージを`Info`ログレベルでロギングします。

Go: `LogInfof(ctx context.Context, format string, args ...interface{})`<br/>

### LogWarning

指定されたメッセージを`Warning`ログレベルでロギングします。

Go: `LogWarning(ctx context.Context, message string)`<br/> JS: `LogWarning(message: string)`

### LogWarningf

指定されたメッセージを`Warning`ログレベルでロギングします。

Go: `LogWarningf(ctx context.Context, format string, args ...interface{})`<br/>

### LogError

指定されたメッセージを`Error`ログレベルでロギングします。

Go: `LogError(ctx context.Context, message string)`<br/> JS: `LogError(message: string)`

### LogErrorf

指定されたメッセージを`Error`ログレベルでロギングします。

Go: `LogErrorf(ctx context.Context, format string, args ...interface{})`<br/>

### LogFatal

指定されたメッセージを`Fatal`ログレベルでロギングします。

Go: `LogFatal(ctx context.Context, message string)`<br/> JS: `LogFatal(message: string)`

### LogFatalf

指定されたメッセージを`Fatal`ログレベルでロギングします。

Go: `LogFatalf(ctx context.Context, format string, args ...interface{})`<br/>

### LogSetLogLevel

出力ログレベルを設定します。 JavaScriptでは、数値が次のログレベルに対応しています:

| 値 | ログレベル   |
| - | ------- |
| 1 | Trace   |
| 2 | Debug   |
| 3 | Info    |
| 4 | Warning |
| 5 | Error   |

Go: `LogSetLogLevel(ctx context.Context, level logger.LogLevel)`<br/> JS: `LogSetLogLevel(level: number)`

## カスタムロガーの使用

カスタムロガーは、アプリケーションオプションの1つである[Logger](../options.mdx#logger)で指定してあげることで、使用することができます。 カスタムロガーを使用する際の唯一の要件は、`github.com/wailsapp/wails/v2/pkg/logger`で定義されている`logger.Logger`インターフェースを、ロガーに実装することです:

```go title="logger.go"
type Logger interface {
    Print(message string)
    Trace(message string)
    Debug(message string)
    Info(message string)
    Warning(message string)
    Error(message string)
    Fatal(message string)
}
```
