世間はエイプリルフールらしいので、オフ会に持ち込んだキャラ*1を置いておきますね。
*1:製作合計時間=6時間
モンハンやってる合間に細々とツール作成しているわけですが、そんな中でログライブラリほしいなー、って思うことがあるんです。
ただ最近は、どのロガーもちょっとしたツールには機能過剰だなーと感じてました。
とはいえ、標準のロガーだとそれはそれでデバッグログとか出し分けができないやつなので、どうしたもんかと思ってたんです。
で、仕方なく作りました。
機能的には標準のロガーにデバッグログの出し分けを増やした程度のものです。
標準のロガーと併用する前提で、こんな風になります。
package main import "fmt" import "log" import "os" import "bitbucket.org/chiku2gonzalez/logo" func main() { logger := Wrap(log.New(os.Stdout, "[LOGO]", 0)) fmt.Fprintf(os.Stdout, "<<BASIC>>\n") logger.SetMode(BASIC) logger.Println("(・∀・)") logger.Debugln("(`・ω・´)") fmt.Fprintf(os.Stdout, "\n") fmt.Fprintf(os.Stdout, "<<DEBUG>>\n") logger.SetMode(DEBUG) logger.Println("( ˘ω˘ )") logger.Debugln("( ゚Д゚)") fmt.Fprintf(os.Stdout, "\n") fmt.Fprintf(os.Stdout, "<<QUIET>>\n") logger.SetMode(QUIET) logger.Println("('ω')") logger.Debugln("(・ω・)") fmt.Fprintf(os.Stdout, "\n") fmt.Fprintf(os.Stdout, "<<END>>\n") }
前回の記事 ↑ で ( ・´ー・`)ドヤァ みたいに書きましたが別に分ける意味なかったのでそのうち再統合しておきます。
やっときました。そのうち cfgo-driver を消しますね
あけましておめでとうございます。今年もchikuchikugonzalezをよろしくお願いします。
などとあいさつを済ませたところで本題です。
昨年の最後のエントリで適当に作ったライブラリを紹介しましたが、その片方の cfgo でこんなことを言ってました。
そのうち一度読み込んだファイルはは読み込まないっていう機能を持った構造体を追加しようと思ってます。
http://chiku2gonzalez.hatenablog.com/entry/2015/12/28/235253
で、それを作ってるところで、さぁテスト書くかって思ったときに一つ問題にぶち当たりました。っていうか前にもぶち当たったのを忘れてました。
それは
サブパッケージ内から親パッケージを見ている場合に、サブパッケージを利用するテストを親パッケージに置けない
です。いや当たり前なんですが今回はまともなテストが書けないっていう感じになりました。
なので、サブパッケージのリポジトリを分割しました。
chiku2gonzalez / cfgo-driver — Bitbucket
ただ分けるのもあれだったので TOML 対応もしておきました。
✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
XDG Base Directory Specification のディレクトリから設定を読み込むためのライブラリ。
ってもパスしか返さないので読み込みは使う側でどうにかしてください。
動機としては、ひっそりと作ってるツールの設定ファイルをどこに置くか悩んでるときに NeoVim が上の仕様で読み込むようにしたよー、って言う記事を見たのが発端です。
その中で Windows は AppData から、ていうのが書いてあったので「じゃぁそれで対応するか」ってなりました。
パケ買いしたシャンティが思いのほか楽しくて困ってない。
横スクロールアクション自体すっごい久しぶりなせいもあっていい買い物でした。
道中迷子になったり最終ダンジョンで指痛めたりとかしたけど。
PC版もあると聞いて即買ってしまうとかもしてた。フルHD + フルスクリーンでできるからこっちのほうがやりやすかった。