logger で特定のログレベルだけ分離して別ファイルにはきたい
```

    logger = logging.getLogger('default')
    formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s")
    handler = logging.StreamHandler()
    handler.setLevel(logging.INFO)
    handler.setFormatter(formatter)
    logger.addHandler(handler)
    
```

現在こういうログを仕込んでいるんですが  
デバッグログを別に仕込みたいです

```

    handler2 = logging.FileHandler(filename="logs/debug.log")
    handler2.setLevel(logging.DEBUG)
    handler2.setFormatter(logging.Formatter("%(asctime)s %(levelname)8s %(message)s"))
    logger.addHandler(handler2)
    
```

例えばこういうのを追加した場合 DEBUG 以上のログが出力されて元のログと重複してみにくいしディスクも無駄なので  
debug レベルのみ出力を分離したいんですが方法はありませんか？

別に logger を使わずに単に別ファイルに追記するようなコードを書けばいいだけなんですが  
せっかく logger があるので logger を使ってできないか質問した次第です
Python loggingの資料には, 各種の機能の説明やサンプルが載ってます

  * [Logging HOWTO](https://docs.python.org/ja/3/howto/logging.html)
  * [Logging クックブック](https://docs.python.org/ja/3/howto/logging-cookbook.html)

その中の `Filter`を使用して, `LogRecord` を調べ, 場合によっては弾くことができます  
(他にも各種の事例が載ってるので一度目を通しておくとよいでしょう)

```

    class LevelFilter(logging.Filter):
        def filter(self, record):
            return record.levelname == 'DEBUG'
    
    logger.setLevel(logging.DEBUG)
    fh.setLevel(logging.DEBUG)
    fh.addFilter(LevelFilter())
    logger.addHandler(fh)
    
```
Python loggingの資料には, 各種の機能の説明やサンプルが載ってます

  * [Logging HOWTO](https://docs.python.org/ja/3/howto/logging.html)
  * [Logging クックブック](https://docs.python.org/ja/3/howto/logging-cookbook.html)

その中の `Filter`を使用して, `LogRecord` を調べ, 場合によっては弾くことができます  
(他にも各種の事例が載ってるので一度目を通しておくとよいでしょう)

```

    class LevelFilter(logging.Filter):
        def filter(self, record):
            return record.levelname == 'DEBUG'
    
    logger.setLevel(logging.DEBUG)
    fh.setLevel(logging.DEBUG)
    fh.addFilter(LevelFilter())
    logger.addHandler(fh)
    
```