Help us understand the problem. What is going on with this article?

ColoredLoggerを作った

More than 3 years have passed since last update.

Package colored-logger - DUB - The D package registry

std.experimental.loggerでD言語の新しいロギングモジュールについて書きましたが,これのロガーの1実装であるColoredLoggerを自分が欲しかったので実装した.

出来ることは名前の通りで,ログの出力に色を着けます.

インストール

dubに登録してあるので,dependenciesに以下を追加するだけです.

"colored-logger": "~>0.1.0"

サンプルコード

以下はREADMEに載せている例ですが,他のロガーと同じようにnewします.デフォルトだとLogLevelinfoになっていて,デモのためにあえてallにしているだけで,第二引数は省略出来ます.

import coloredlogger;
import std.experimental.logger : LogLevel;
import std.stdio : stdout;

void main()
{
    auto logger = new ColoredLogger(stdout, LogLevel.all);

    logger.trace("trace");
    logger.info("info");
    logger.warning("warning");
    logger.error("error");
    logger.critical("critical");
    logger.fatal("fatal");
}

結果

example

ログの色の変更

ColoredLoggerには以下のコンストラクタがあるので,第二引数に[LogLevel.info : ColoredLogger.Color.White]みたいに渡せば色を変更出来ます.

this(File file, in string[LogLevel] colorMap, const LogLevel lv = LogLevel.info) @safe

まとめ

ターミナルに出すログをカラフルにしたいなー,って人には有用だと思います.

treasuredata
Customer Data Platformの開発・提供をしています。
https://www.treasuredata.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away