見出し画像

7/14.log

zapのDIを調査する

goのzapというログを出すようなライブラリがあると思うのですがそのDIについて調査していました。

現状の使われ方としてはWebアプリケーションでリクエストがあった場合にそのルート・時間・レスポンスステータスをコンソールに出力しています。ただコードではリクエストがある時に毎回インスタンスを新たに作成していてとても効率が悪いです。リソースが無駄ですし速度的にもどうかと思います。またenvなどは特に気にせず常にデバッグレベルでコンソール形式でターミナルへの出力であり設定の変更にはコードを書き換える必要がありました。不便です。

そこで今回はアプリケーション起動時にインスタンスを作りそれを使い続けるような仕組みにし・環境変数に応じてログレベルの変更・出力先の変更・出力形式の変更について調査していました。

進捗としてはとりあえず要件を満たすようなものは作成することができました。まだテスト的な感じで目的のアプリケーションには組み込んでいないですが実験的には作成に成功しています。

あとは細かい設定ですがこれに関しては今回DIをしていて後で書き換えてもその他に影響なく動作させることができるので必要な時に書き換えるとします。

もう少し具体的な方法やコードに関しては記事にしたいと思っています!

後goのフレームワークにzapを適用する方法とかも紹介したいですかね?フレームワークによっては既にログを出す仕組みがあるのですがzapを採用したい時もあると思うのでその方法も別の記事として紹介できたらと思っています。ちなみに自分はfiberを使っています。

結局reactの状態管理どうしよう

以前(おそらく1,2ヶ月前)reactの状態管理をどのようにしようと悩んでいたのですがそろそろ考え始める必要がでてきた気がします。redux使うほどグローバルな状態は持たないのでもっと手軽で最近注目されているような技術がいいです。SWR・recoilあたりですかね?またはなしつまりhooksのみで行くか。nextを使っているからSWRで行くべきか、facebook産のrecoilかなしで行くか。触ってみないとそもそも議論が始まらないですよね。近いうちにそれぞれのチュートリアルだけでも進めてみたいです!



この記事が気に入ったらサポートをしてみませんか?