Skip to content
乗組員
JavaScript CoffeeScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
dist
example
src/coffee
test
.editorconfig
.gitignore
Gruntfile.coffee
README.md
bower.json
package.json

README.md

Hunanori

js のログなんかいろいろ AS ではこんなようなのみんな持ってた気がする

推奨環境: IE10+

Usage

Hunanori.setup("Hunanori.min.js")
Hunanori.log("ソイヤ!")
#results
#ソイヤ!

デバッグをオフ

Hunanori.debug = false
Hunanori.log("ソイヤソイヤ!")
#results...

debug を false にすると出力されなくなる

ログレベル

ピンポイントで指定

Hunanori.log("やばお", Hunanori.ERROR)
#Error やばお

エラーとして出力される

全体で設定

Hunanori.level = Hunanori.WARNING
Hunanori.log("面舵いっぱい")
Hunanori.log("取舵いっぱい")
#results....
#ワーニング 面舵いっぱい
#ワーニング 取舵いっぱい

常に指定したログレベルで出力される。

インスタンスにも持たせる

class Sencho extends Hunanori
  constructor:()->

sencho = new Sencho()
sencho.log("お腹すいた")

#results...
#お腹すいた

一見すると console.log で良さげだが

Hunanori.debug = false

sencho = new Sencho()
sencho.log("お腹すいた")
sencho.log("寝たい")

#results...

Hunanori を継承していると、まとめてオン/オフがトグル出来る。

prefix, separator

class Sencho extends Hunanori
  separator: "▂▅▇█▓▒░('ω')░▒▓█▇▅▂うわあああああああ"
  prefix: ":( ゙゚'ω゚'):ウウウオオオアアアーーー!!!"
  constructor:()->

sencho = new Sencho()
sencho.log("航路間違えた")

#results...
#:( ゙゚'ω゚'):ウウウオオオアアアーーー!!!
#航路間違えた
#▂▅▇█▓▒░('ω')░▒▓█▇▅▂うわあああああああ

出力したいメッセージの前後に区切り文字などを挟むことが出来る。

タイムスタンプ

Hunanori.stamp = true
Hunanori.log("遭難した")
Hunanori.log("食料がない")

#results...
#遭難した [Fri Jun 28 2013 09:56:51 GMT+0900 (JST)]
#食料がない [Fri Jun 28 2013 09:56:51 GMT+0900 (JST)]

ログの出力に日時を含めてくれる

残念なところ

  • console.log 諸々な都合上、実行時の行数が Hunanori 内になってしまいます。
  • 単純な解決手法としては console.log.bind(console) を即時関数の戻り値としてあげればできますが
    • 区切り文字を入れるとか出来ない
    • タイムスタンプ押すとか出来ない
    • デバッグモードでなければ出力しないなどの制限ができない

と、他にできなくなる事の方が多いので Call Stack を辿って無理やり実行時の行数を出力させてます。 このへんうまいこと解決出来ればもっと良くなると思っています。

気が向いたら実装しようと思ってること

  • タイムスタンプのフォーマットいじれるように
  • 出力時のフォーマットをいじれるように。 ltsv とかも対応できたらしたい。
  • ログを JSON とかで吐けるように
Something went wrong with that request. Please try again.