CINXE.COM

SLF4J サポート — Doma ドキュメント

<!DOCTYPE html> <html class="writer-html5" lang="ja" data-content_root="../"> <head> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>SLF4J サポート &mdash; Doma ドキュメント</title> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=80d5e7a1" /> <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" /> <link rel="stylesheet" type="text/css" href="../_static/tabs.css?v=a5c4661c" /> <!--[if lt IE 9]> <script src="../_static/js/html5shiv.min.js"></script> <![endif]--> <script src="../_static/jquery.js?v=5d32c60e"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script src="../_static/documentation_options.js?v=31c6fa44"></script> <script src="../_static/doctools.js?v=9a2dae69"></script> <script src="../_static/sphinx_highlight.js?v=dc90522c"></script> <script src="../_static/translations.js?v=91613774"></script> <script src="../_static/js/theme.js"></script> <link rel="index" title="索引" href="../genindex/" /> <link rel="search" title="検索" href="../search/" /> <link rel="next" title="JPMS サポート" href="../jpms-support/" /> <link rel="prev" title="Kotlin サポート" href="../kotlin-support/" /> <script async type="text/javascript" src="/_/static/javascript/readthedocs-addons.js"></script><meta name="readthedocs-project-slug" content="doma-japanese" /><meta name="readthedocs-version-slug" content="3.1.0" /><meta name="readthedocs-resolver-filename" content="/slf4j-support/" /><meta name="readthedocs-http-status" content="200" /></head> <body class="wy-body-for-nav"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" > <a href="../" class="icon icon-home"> Doma </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="../search/" method="get"> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../getting-started/">はじめよう</a></li> <li class="toctree-l1"><a class="reference internal" href="../config/">設定</a></li> <li class="toctree-l1"><a class="reference internal" href="../basic/">基本クラス</a></li> <li class="toctree-l1"><a class="reference internal" href="../domain/">ドメインクラス</a></li> <li class="toctree-l1"><a class="reference internal" href="../embeddable/">埋め込み可能クラス</a></li> <li class="toctree-l1"><a class="reference internal" href="../entity/">エンティティクラス</a></li> <li class="toctree-l1"><a class="reference internal" href="../dao/">DAOインタフェース</a></li> <li class="toctree-l1"><a class="reference internal" href="../query/">クエリ</a></li> <li class="toctree-l1"><a class="reference internal" href="../query-builder/">クエリビルダ</a></li> <li class="toctree-l1"><a class="reference internal" href="../criteria-api/">Classic Criteria API</a></li> <li class="toctree-l1"><a class="reference internal" href="../query-dsl/">Unified Criteria API</a></li> <li class="toctree-l1"><a class="reference internal" href="../sql/">SQLテンプレート</a></li> <li class="toctree-l1"><a class="reference internal" href="../expression/">式言語</a></li> <li class="toctree-l1"><a class="reference internal" href="../transaction/">トランザクション</a></li> <li class="toctree-l1"><a class="reference internal" href="../build/">アプリケーションのビルド</a></li> <li class="toctree-l1"><a class="reference internal" href="../annotation-processing/">アノテーションプロセッシング</a></li> <li class="toctree-l1"><a class="reference internal" href="../lombok-support/">Lombok サポート</a></li> <li class="toctree-l1"><a class="reference internal" href="../kotlin-support/">Kotlin サポート</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">SLF4J サポート</a><ul> <li class="toctree-l2"><a class="reference internal" href="#overview">概要</a></li> <li class="toctree-l2"><a class="reference internal" href="#gradle">Gradle</a></li> <li class="toctree-l2"><a class="reference internal" href="#configuration">設定</a></li> <li class="toctree-l2"><a class="reference internal" href="#loggers">ロガー</a></li> <li class="toctree-l2"><a class="reference internal" href="#examples">例</a><ul> <li class="toctree-l3"><a class="reference internal" href="#log-all">すべてログに記録する</a></li> <li class="toctree-l3"><a class="reference internal" href="#log-all-sql-statements">すべての SQL ステートメントをログに記録する</a></li> <li class="toctree-l3"><a class="reference internal" href="#log-only-select-statements">SELECT ステートメントのみをログに記録する</a></li> </ul> </li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../jpms-support/">JPMS サポート</a></li> <li class="toctree-l1"><a class="reference internal" href="../quarkus-support/">Quarkus サポート</a></li> <li class="toctree-l1"><a class="reference internal" href="../codegen/">Doma CodeGen プラグイン</a></li> </ul> <ul> <li class="toctree-l1"><a class="reference internal" href="../faq/">よくある質問</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <a href="../">Doma</a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <div role="navigation" aria-label="Page navigation"> <ul class="wy-breadcrumbs"> <li><a href="../" class="icon icon-home" aria-label="Home"></a></li> <li class="breadcrumb-item active">SLF4J サポート</li> <li class="wy-breadcrumbs-aside"> <a href="../_sources/slf4j-support.rst.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> </div> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <section id="slf4j-support"> <h1><a class="toc-backref" href="#id2" role="doc-backlink">SLF4J サポート</a><a class="headerlink" href="#slf4j-support" title="Link to this heading"></a></h1> <nav class="contents" id="id1"> <p class="topic-title">目次</p> <ul class="simple"> <li><p><a class="reference internal" href="#slf4j-support" id="id2">SLF4J サポート</a></p> <ul> <li><p><a class="reference internal" href="#overview" id="id3">概要</a></p></li> <li><p><a class="reference internal" href="#gradle" id="id4">Gradle</a></p></li> <li><p><a class="reference internal" href="#configuration" id="id5">設定</a></p></li> <li><p><a class="reference internal" href="#loggers" id="id6">ロガー</a></p></li> <li><p><a class="reference internal" href="#examples" id="id7">例</a></p> <ul> <li><p><a class="reference internal" href="#log-all" id="id8">すべてログに記録する</a></p></li> <li><p><a class="reference internal" href="#log-all-sql-statements" id="id9">すべての SQL ステートメントをログに記録する</a></p></li> <li><p><a class="reference internal" href="#log-only-select-statements" id="id10">SELECT ステートメントのみをログに記録する</a></p></li> </ul> </li> </ul> </li> </ul> </nav> <section id="overview"> <h2><a class="toc-backref" href="#id3" role="doc-backlink">概要</a><a class="headerlink" href="#overview" title="Link to this heading"></a></h2> <p>Doma は基礎となるロギングフレームワークとして java util ロギングを使用しますが、これを <a class="reference external" href="http://www.slf4j.org/">SLF4J</a> に簡単に置き換えることができます。</p> </section> <section id="gradle"> <h2><a class="toc-backref" href="#id4" role="doc-backlink">Gradle</a><a class="headerlink" href="#gradle" title="Link to this heading"></a></h2> <p>Doma は、SLF4J を適応させるための doma-slf4j アーティファクトを提供します。</p> <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span>dependencies<span class="w"> </span>{ <span class="w"> </span>implementation(&quot;org.seasar.doma:doma-slf4j:3.0.1&quot;) <span class="w"> </span>//<span class="w"> </span>Use<span class="w"> </span>an<span class="w"> </span>arbitrary<span class="w"> </span>SLF4J<span class="w"> </span>binding <span class="w"> </span>runtimeOnly(&quot;ch.qos.logback:logback-classic:1.5.7&quot;) } </pre></div> </div> </section> <section id="configuration"> <h2><a class="toc-backref" href="#id5" role="doc-backlink">設定</a><a class="headerlink" href="#configuration" title="Link to this heading"></a></h2> <p><code class="docutils literal notranslate"><span class="pre">org.seasar.doma.slf4j.Slf4jJdbcLogger</span></code> インスタンスを <code class="docutils literal notranslate"><span class="pre">org.seasar.doma.jdbc.Config</span></code> の実装クラスの <code class="docutils literal notranslate"><span class="pre">getJdbcLogger</span></code> メソッドから返してください。</p> <p><a class="reference internal" href="../config/#config-logger"><span class="std std-ref">Logger</span></a> も参照してください。</p> </section> <section id="loggers"> <h2><a class="toc-backref" href="#id6" role="doc-backlink">ロガー</a><a class="headerlink" href="#loggers" title="Link to this heading"></a></h2> <p>doma-slf4j は、次のようないくつかのロガーを提供します。</p> <ul class="simple"> <li><p>org.seasar.doma.jdbc.LogKind.DAO</p></li> <li><p>org.seasar.doma.jdbc.LogKind.FAILURE</p></li> <li><p>org.seasar.doma.jdbc.LogKind.LOCAL_TRANSACTION</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SKIP.STATE_UNCHANGED</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SKIP.BATCH_TARGET_NONEXISTENT</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.BATCH_DELETE</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.BATCH_INSERT</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.BATCH_UPDATE</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.DELETE</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.FUNCTION</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.INSERT</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.PROCEDURE</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.SCRIPT</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.SELECT</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.SQL_PROCESSOR</p></li> <li><p>org.seasar.doma.jdbc.LogKind.SQL.UPDATE</p></li> </ul> <p>詳細については、 <a class="reference external" href="https://github.com/domaframework/doma/blob/master/doma-slf4j/src/main/java/org/seasar/doma/slf4j/Slf4jJdbcLogger.java">ソース コード</a> を参照してください。</p> </section> <section id="examples"> <h2><a class="toc-backref" href="#id7" role="doc-backlink">例</a><a class="headerlink" href="#examples" title="Link to this heading"></a></h2> <p>以下に、<a class="reference external" href="http://logback.qos.ch/">logback</a> の設定例を示します。</p> <section id="log-all"> <h3><a class="toc-backref" href="#id8" role="doc-backlink">すべてログに記録する</a><a class="headerlink" href="#log-all" title="Link to this heading"></a></h3> <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt">&lt;configuration&gt;</span> <span class="w"> </span><span class="nt">&lt;appender</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;STDOUT&quot;</span><span class="w"> </span><span class="na">class=</span><span class="s">&quot;ch.qos.logback.core.ConsoleAppender&quot;</span><span class="nt">&gt;</span> <span class="w"> </span><span class="nt">&lt;encoder&gt;</span> <span class="w"> </span><span class="nt">&lt;pattern&gt;</span>%d{HH:mm:ss.SSS}<span class="w"> </span>[%thread]<span class="w"> </span>%-5level<span class="w"> </span>%logger{36}<span class="w"> </span>-<span class="w"> </span>%msg%n<span class="nt">&lt;/pattern&gt;</span> <span class="w"> </span><span class="nt">&lt;/encoder&gt;</span> <span class="w"> </span><span class="nt">&lt;/appender&gt;</span> <span class="w"> </span><span class="nt">&lt;logger</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;org.seasar.doma.jdbc.LogKind&quot;</span><span class="w"> </span><span class="na">level=</span><span class="s">&quot;debug&quot;</span><span class="nt">/&gt;</span> <span class="w"> </span><span class="nt">&lt;root</span><span class="w"> </span><span class="na">level=</span><span class="s">&quot;info&quot;</span><span class="nt">&gt;</span> <span class="w"> </span><span class="nt">&lt;appender-ref</span><span class="w"> </span><span class="na">ref=</span><span class="s">&quot;STDOUT&quot;</span><span class="w"> </span><span class="nt">/&gt;</span> <span class="w"> </span><span class="nt">&lt;/root&gt;</span> <span class="nt">&lt;/configuration&gt;</span> </pre></div> </div> </section> <section id="log-all-sql-statements"> <h3><a class="toc-backref" href="#id9" role="doc-backlink">すべての SQL ステートメントをログに記録する</a><a class="headerlink" href="#log-all-sql-statements" title="Link to this heading"></a></h3> <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt">&lt;configuration&gt;</span> <span class="w"> </span><span class="nt">&lt;appender</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;STDOUT&quot;</span><span class="w"> </span><span class="na">class=</span><span class="s">&quot;ch.qos.logback.core.ConsoleAppender&quot;</span><span class="nt">&gt;</span> <span class="w"> </span><span class="nt">&lt;encoder&gt;</span> <span class="w"> </span><span class="nt">&lt;pattern&gt;</span>%d{HH:mm:ss.SSS}<span class="w"> </span>[%thread]<span class="w"> </span>%-5level<span class="w"> </span>%logger{36}<span class="w"> </span>-<span class="w"> </span>%msg%n<span class="nt">&lt;/pattern&gt;</span> <span class="w"> </span><span class="nt">&lt;/encoder&gt;</span> <span class="w"> </span><span class="nt">&lt;/appender&gt;</span> <span class="w"> </span><span class="nt">&lt;logger</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;org.seasar.doma.jdbc.LogKind.SQL&quot;</span><span class="w"> </span><span class="na">level=</span><span class="s">&quot;debug&quot;</span><span class="nt">/&gt;</span> <span class="w"> </span><span class="nt">&lt;root</span><span class="w"> </span><span class="na">level=</span><span class="s">&quot;info&quot;</span><span class="nt">&gt;</span> <span class="w"> </span><span class="nt">&lt;appender-ref</span><span class="w"> </span><span class="na">ref=</span><span class="s">&quot;STDOUT&quot;</span><span class="w"> </span><span class="nt">/&gt;</span> <span class="w"> </span><span class="nt">&lt;/root&gt;</span> <span class="nt">&lt;/configuration&gt;</span> </pre></div> </div> </section> <section id="log-only-select-statements"> <h3><a class="toc-backref" href="#id10" role="doc-backlink">SELECT ステートメントのみをログに記録する</a><a class="headerlink" href="#log-only-select-statements" title="Link to this heading"></a></h3> <div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="nt">&lt;configuration&gt;</span> <span class="w"> </span><span class="nt">&lt;appender</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;STDOUT&quot;</span><span class="w"> </span><span class="na">class=</span><span class="s">&quot;ch.qos.logback.core.ConsoleAppender&quot;</span><span class="nt">&gt;</span> <span class="w"> </span><span class="nt">&lt;encoder&gt;</span> <span class="w"> </span><span class="nt">&lt;pattern&gt;</span>%d{HH:mm:ss.SSS}<span class="w"> </span>[%thread]<span class="w"> </span>%-5level<span class="w"> </span>%logger{36}<span class="w"> </span>-<span class="w"> </span>%msg%n<span class="nt">&lt;/pattern&gt;</span> <span class="w"> </span><span class="nt">&lt;/encoder&gt;</span> <span class="w"> </span><span class="nt">&lt;/appender&gt;</span> <span class="w"> </span><span class="nt">&lt;logger</span><span class="w"> </span><span class="na">name=</span><span class="s">&quot;org.seasar.doma.jdbc.LogKind.SQL.SELECT&quot;</span><span class="w"> </span><span class="na">level=</span><span class="s">&quot;debug&quot;</span><span class="nt">/&gt;</span> <span class="w"> </span><span class="nt">&lt;root</span><span class="w"> </span><span class="na">level=</span><span class="s">&quot;info&quot;</span><span class="nt">&gt;</span> <span class="w"> </span><span class="nt">&lt;appender-ref</span><span class="w"> </span><span class="na">ref=</span><span class="s">&quot;STDOUT&quot;</span><span class="w"> </span><span class="nt">/&gt;</span> <span class="w"> </span><span class="nt">&lt;/root&gt;</span> <span class="nt">&lt;/configuration&gt;</span> </pre></div> </div> </section> </section> </section> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <a href="../kotlin-support/" class="btn btn-neutral float-left" title="Kotlin サポート" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="../jpms-support/" class="btn btn-neutral float-right" title="JPMS サポート" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> <div role="contentinfo"> <p>&#169; Copyright 2018, Toshihiro Nakamura.</p> </div> Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <script> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10