hifive / hifivemain

main repository
http://www.htmlhifive.com/
Other
40 stars 10 forks source link

Loggerのスタックトレースで表示される最大件数が、IE,Safariと、Chrome,Firefoxで異なる #392

Closed fukudayasuo closed 10 years ago

fukudayasuo commented 10 years ago

IE,Safariの場合はlogger.maxStackSize(デフォルト10)で設定した数分のスタックトレースが最大で表示されるのに対し、Chrome,Firefoxの場合はログ出力した関数に加えて設定した数分のスタックトレースが最大で表示される(maxStackSize+1件分のスタックトレースが表示される)。

以下のソースコードで確認した。

var logger = h5.log.createLogger('a');
function out(){
  logger.debug('hoge');
}
function f(){
  out();
}
function ff(){
  f();
}
function fff(){
  ff();
}
logger.enableStackTrace = true;
logger.maxStackSize = 2; // スタックトレース件数を最大2件に設定
fff();

コンソール出力 IE,Safariの場合

[DEBUG]10:48:53,653: hoge  [{out}() <- {f}() <- {ff}()]
  h5.log.js:399{out}()
  {f}()
  {ff}()

Chrome,Firefoxの場合

[DEBUG]10:49:7,418: hoge  [out (<anonymous>:4:10) <- f (<anonymous>:7:3) <- ff (<anonymous>:10:3) ...] 
  out (<anonymous>:4:10)
  f (<anonymous>:7:3) 

どちらかに統一するように修正する。