2020-01-01から1ヶ月間の記事一覧

latestタグのままdocker imageを本番運用してどうなったか

latestタグや書き換えるためのタグ(develop, stagingなど)を使って、本番で運用するのはやめましょう。 コンテナイメージのキャッシュ状況やリリースフローによっては予期しない形で 予期しないバージョンが本番で起動する可能性があります。 本記事では、…

JUnit JupiterのAutomatic Extension Detectionを使って簡単にテストのログにコンテキストを付与する

今回使った実装を使えば、どういうテストで実行された処理なのかが明確に分かるようになります。 使い方です。 class MdcExtensionTest { @Test public void test() { assertThat(MDC.get("test.displayName")).isNotNull(); assertThat(MDC.get("test.id"))…

Quarkusに入っているQuteというテンプレートエンジン単体で使ってみる

QuarkusにはQuteというテンプレートエンジンが入っています。 今回は、これをQuarkusじゃないプロジェクトで使ってみます。 使ったバージョンは1.1.1.Final です。 quarkus.io 今回のコードは以下のリポジトリにおいてあります。 github.com quarkus-sandbox…

java.lang.reflect.Proxyで生成されるバイトコードをファイルに出力する方法

いつから実装されたのか分からないが ファイルに出力する方法があったので書いておく。 やり方としては以下のパラメータを渡すだけ -Djdk.proxy.ProxyGenerator.saveGeneratedFiles=true を引数で渡すだけ(※) 実際に動作確認をしたのは以下のJava。 他の環…

morganでアクセスログを書き込みつつ、書き込み先を自前のロガーに変える #Node.js

Node.jsのサーバーでアクセスログ出してますか? morganを使って吐きましょう。 今回紹介するのはNuxt.jsで使う場合のものですが expressとかでも似たようなコードで対応できるはずです。 morganの書き込み先を自前のロガーに書き換える 毎回morganの関数を…

Node.jsでwinstonを使ってログをJSONで出力する

こうします。 const winston = require("winston") const logger = winston.createLogger({ level: "info", format: winston.format.combine( winston.format.timestamp(), winston.format.splat(), winston.format.json() ), defaultMeta: { service: "my-a…