mirror of
https://scm.univ-tours.fr/22107988t/rappaurio-sae501_502.git
synced 2025-09-11 20:55:58 +02:00
912 lines
144 KiB
HTML
912 lines
144 KiB
HTML
<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"> <style>
|
||
.KEYW {color: #933;}
|
||
.COMM {color: #bbb; font-style: italic;}
|
||
.NUMB {color: #393;}
|
||
.STRN {color: #393;}
|
||
.REGX {color: #339;}
|
||
.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
|
||
</style></head><body><pre><span class='line'> 1</span> <span class="TOKN"></span><span class="WHIT">
|
||
<span class='line'> 2</span> </span><span class="COMM">/**
|
||
<span class='line'> 3</span> * @name CeL log function
|
||
<span class='line'> 4</span> * @fileoverview
|
||
<span class='line'> 5</span> * 本檔案包含了記錄用 functions。
|
||
<span class='line'> 6</span> * @since 2009/11/17
|
||
<span class='line'> 7</span> * @see
|
||
<span class='line'> 8</span> * <a href="http://getfirebug.com/lite.html" accessdate="2010/1/1 14:54">Firebug Lite</a>,
|
||
<span class='line'> 9</span> * <a href="http://www.mozilla.org/projects/venkman/" accessdate="2010/1/1 16:43">Venkman JavaScript Debugger project page</a>
|
||
<span class='line'> 10</span> */</span><span class="WHIT">
|
||
<span class='line'> 11</span>
|
||
<span class='line'> 12</span> </span><span class="COMM">// http://blogs.msdn.com/b/webdevtools/archive/2007/03/02/jscript-intellisense-in-orcas.aspx</span><span class="WHIT">
|
||
<span class='line'> 13</span> </span><span class="COMM">/// <reference path="../ce.js"/></span><span class="WHIT">
|
||
<span class='line'> 14</span>
|
||
<span class='line'> 15</span> </span><span class="COMM">/*
|
||
<span class='line'> 16</span> TODO:
|
||
<span class='line'> 17</span> emergency/urgent situation alert
|
||
<span class='line'> 18</span> 會盡量以網頁上方/頂部黄色的導航條/警告條展示
|
||
<span class='line'> 19</span> 「不再顯示」功能
|
||
<span class='line'> 20</span> .format()
|
||
<span class='line'> 21</span> 將 div format 成 log panel。
|
||
<span class='line'> 22</span> 分群, http://developer.yahoo.com/yui/examples/uploader/uploader-simple-button.html
|
||
<span class='line'> 23</span> */</span><span class="WHIT">
|
||
<span class='line'> 24</span>
|
||
<span class='line'> 25</span>
|
||
<span class='line'> 26</span>
|
||
<span class='line'> 27</span> </span><span class="COMM">//WScript.Echo(this.Class);</span><span class="WHIT">
|
||
<span class='line'> 28</span>
|
||
<span class='line'> 29</span> </span><span class="COMM">// 若 library base 尚未 load 或本 module 已經 loaded 則跳過。</span><span class="WHIT">
|
||
<span class='line'> 30</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">CeL</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'> 31</span> </span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'> 32</span>
|
||
<span class='line'> 33</span> </span><span class="COMM">/**
|
||
<span class='line'> 34</span> * 本 module 之 name(id),<span style="text-decoration:line-through;">不設定時會從呼叫時之 path 取得</span>。
|
||
<span class='line'> 35</span> * @type String
|
||
<span class='line'> 36</span> * @constant
|
||
<span class='line'> 37</span> * @inner
|
||
<span class='line'> 38</span> * @ignore
|
||
<span class='line'> 39</span> */</span><span class="WHIT">
|
||
<span class='line'> 40</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">module_name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'application.debug.log'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'> 41</span>
|
||
<span class='line'> 42</span> </span><span class="COMM">//var do_before_including = function() {};</span><span class="WHIT">
|
||
<span class='line'> 43</span>
|
||
<span class='line'> 44</span> </span><span class="COMM">/* to include:
|
||
<span class='line'> 45</span> include code_for_including
|
||
<span class='line'> 46</span> <div id="debug_panel"></div>
|
||
<span class='line'> 47</span> var SL=new Debug.log('debug_panel'),sl=function(){SL.log.apply(SL,arguments);},err=function(){SL.err.apply(SL,arguments);},warn=function(){SL.warn.apply(SL,arguments);};
|
||
<span class='line'> 48</span>
|
||
<span class='line'> 49</span> http://www.comsharp.com/GetKnowledge/zh-CN/TeamBlogTimothyPage_K742.aspx
|
||
<span class='line'> 50</span>
|
||
<span class='line'> 51</span> if possible, use Firebug Lite instead.
|
||
<span class='line'> 52</span> http://benalman.com/projects/javascript-debug-console-log/
|
||
<span class='line'> 53</span> */</span><span class="WHIT">
|
||
<span class='line'> 54</span>
|
||
<span class='line'> 55</span>
|
||
<span class='line'> 56</span> </span><span class="COMM">// ===================================================</span><span class="WHIT">
|
||
<span class='line'> 57</span> </span><span class="COMM">/**
|
||
<span class='line'> 58</span> * 若欲 include 整個 module 時,需囊括之 code。通常即 CeL。
|
||
<span class='line'> 59</span> * @type Function
|
||
<span class='line'> 60</span> * @param {Function} library_namespace namespace of library
|
||
<span class='line'> 61</span> * @param load_arguments 呼叫時之 argument(s)
|
||
<span class='line'> 62</span> * @return
|
||
<span class='line'> 63</span> * @constant
|
||
<span class='line'> 64</span> * @inner
|
||
<span class='line'> 65</span> * @ignore
|
||
<span class='line'> 66</span> */</span><span class="WHIT">
|
||
<span class='line'> 67</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">code_for_including</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">library_namespace</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">load_arguments</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'> 68</span> </span><span class="COMM">//WScript.Echo(this);</span><span class="WHIT">
|
||
<span class='line'> 69</span>
|
||
<span class='line'> 70</span> </span><span class="KEYW">var</span><span class="WHIT">
|
||
<span class='line'> 71</span>
|
||
<span class='line'> 72</span> </span><span class="COMM">// class private -----------------------------------</span><span class="WHIT">
|
||
<span class='line'> 73</span>
|
||
<span class='line'> 74</span> </span><span class="COMM">// class name, 需要用到這個都不是好方法。</span><span class="WHIT">
|
||
<span class='line'> 75</span> </span><span class="COMM">//cn='Debug.log',</span><span class="WHIT">
|
||
<span class='line'> 76</span>
|
||
<span class='line'> 77</span> </span><span class="COMM">/**
|
||
<span class='line'> 78</span> * private storage pool
|
||
<span class='line'> 79</span> * @ignore
|
||
<span class='line'> 80</span> */</span><span class="WHIT">
|
||
<span class='line'> 81</span> </span><span class="NAME">p</span><span class="PUNC">=</span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'> 82</span>
|
||
<span class='line'> 83</span> </span><span class="NAME">log_data</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'> 84</span> </span><span class="WHIT"> </span><span class="NAME">this.m</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">m</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'> 85</span> </span><span class="WHIT"> </span><span class="NAME">this.l</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'> 86</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'> 87</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'> 88</span>
|
||
<span class='line'> 89</span> </span><span class="COMM">/**
|
||
<span class='line'> 90</span> * default write/show log function
|
||
<span class='line'> 91</span> * @ignore
|
||
<span class='line'> 92</span> * @param {string} id element id
|
||
<span class='line'> 93</span> */</span><span class="WHIT">
|
||
<span class='line'> 94</span> </span><span class="NAME">w</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'> 95</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">m</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">c</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">id</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_p.instance</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'> 96</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'> 97</span> * buffer
|
||
<span class='line'> 98</span> * @inner
|
||
<span class='line'> 99</span> * @ignore
|
||
<span class='line'>100</span> */</span><span class="WHIT">
|
||
<span class='line'>101</span> </span><span class="WHIT"> </span><span class="NAME">b</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_p.buf</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>102</span> </span><span class="WHIT"> </span><span class="NAME">B</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_p.board</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">F</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_p.do_function</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">level</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>103</span>
|
||
<span class='line'>104</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_p.clean</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>105</span> </span><span class="WHIT"> </span><span class="NAME">_t.clear</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p.clean</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>106</span>
|
||
<span class='line'>107</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">B</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">F</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>108</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>109</span>
|
||
<span class='line'>110</span> </span><span class="WHIT"> </span><span class="KEYW">while</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">b.length</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>111</span> </span><span class="WHIT"> </span><span class="COMM">// 預防 MP 時重複顯示</span><span class="WHIT">
|
||
<span class='line'>112</span> </span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">b.shift</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>113</span>
|
||
<span class='line'>114</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">F</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>115</span> </span><span class="WHIT"> </span><span class="NAME">F</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>116</span>
|
||
<span class='line'>117</span> </span><span class="WHIT"> </span><span class="COMM">// IE8: 'constructor' 是 null 或不是一個物件</span><span class="WHIT">
|
||
<span class='line'>118</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>119</span> </span><span class="WHIT"> </span><span class="NAME">c</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">m.constructor</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>120</span> </span><span class="WHIT"> </span><span class="COMM">// alert((m.constructor === log_data) + '\n' + m.constructor + '\n' + m);</span><span class="WHIT">
|
||
<span class='line'>121</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>122</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>123</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">c</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">log_data</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>124</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">isNaN</span><span class="PUNC">(</span><span class="NAME">m.l</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">m.l</span><span class="WHIT"> </span><span class="PUNC"><</span><span class="WHIT"> </span><span class="NAME">library_namespace.set_debug</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>125</span> </span><span class="WHIT"> </span><span class="KEYW">continue</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>126</span> </span><span class="WHIT"> </span><span class="NAME">c</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">m.l</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">_t.className_set</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">m.l</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>127</span> </span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">m.m</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>128</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">c</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">_t.message_prefix</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>129</span> </span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_t.message_prefix</span><span class="PUNC">[</span><span class="NAME">c</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">m</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>130</span> </span><span class="WHIT"> </span><span class="NAME">c</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_t.className_set</span><span class="PUNC">[</span><span class="NAME">c</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>131</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>132</span> </span><span class="WHIT"> </span><span class="COMM">// add default style set</span><span class="WHIT">
|
||
<span class='line'>133</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">c</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_t.message_prefix.log</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>134</span> </span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">c</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">m</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>135</span> </span><span class="WHIT"> </span><span class="NAME">c</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_t.className_set.log</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>136</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>137</span> </span><span class="WHIT"> </span><span class="NAME">_p.lbuf.push</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>138</span>
|
||
<span class='line'>139</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">B</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// && typeof document==='object'</span><span class="WHIT">
|
||
<span class='line'>140</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_p.instance.log_tag</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>141</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>142</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createElement</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>143</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">c</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>144</span> </span><span class="WHIT"> </span><span class="NAME">o.className</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">c</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>145</span>
|
||
<span class='line'>146</span> </span><span class="WHIT"> </span><span class="NAME">o.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
|
||
<span class='line'>147</span> </span><span class="WHIT"> </span><span class="COMM">// for character (null)</span><span class="WHIT">
|
||
<span class='line'>148</span> </span><span class="WHIT"> </span><span class="NAME">m.replace</span><span class="PUNC">(</span><span class="REGX">/\x00/g</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>149</span> </span><span class="WHIT"> </span><span class="STRN">'<span class="control_character">\\x00</span>'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>150</span> </span><span class="WHIT"> </span><span class="COMM">// '' (hyphen) 這符號(連字符)可以自動斷行,並在斷行時自動加上個橫槓。在顯示長整數時較有用。</span><span class="WHIT">
|
||
<span class='line'>151</span> </span><span class="WHIT"> </span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/(\d{20})/g</span><span class="PUNC">,</span><span class="STRN">'$1'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>152</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">m</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>153</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>154</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.createTextNode</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>155</span> </span><span class="WHIT"> </span><span class="NAME">B.appendChild</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>156</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>157</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>158</span>
|
||
<span class='line'>159</span> </span><span class="WHIT"> </span><span class="COMM">//if(_t.auto_hide)B.style.display=B.innerHTML?'block':'none';</span><span class="WHIT">
|
||
<span class='line'>160</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">B</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">_t.auto_scroll</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>161</span> </span><span class="WHIT"> </span><span class="NAME">B.scrollTop</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">B.scrollHeight</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NAME">B.clientHeight</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>162</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>163</span>
|
||
<span class='line'>164</span>
|
||
<span class='line'>165</span> </span><span class="COMM">/**
|
||
<span class='line'>166</span> * save log
|
||
<span class='line'>167</span> * @ignore
|
||
<span class='line'>168</span> * @param m message
|
||
<span class='line'>169</span> * @param {string} id element id
|
||
<span class='line'>170</span> * @param force force to clean the message area
|
||
<span class='line'>171</span> */</span><span class="WHIT">
|
||
<span class='line'>172</span> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">force</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>173</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">id</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_p.instance</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">f</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_p.logF</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_t.save_log</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>174</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">s</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>175</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>176</span>
|
||
<span class='line'>177</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>178</span> </span><span class="WHIT"> </span><span class="NAME">_p.sbuf.push</span><span class="PUNC">(</span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_t.save_date</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">gDate</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">_t.save_new_line</span><span class="WHIT">
|
||
<span class='line'>179</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">gDate</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">_t.save_new_line</span><span class="WHIT">
|
||
<span class='line'>180</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>181</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">m</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>182</span>
|
||
<span class='line'>183</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">force</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_t.flush</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_p.sbufL</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NAME">_t.save_limit</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>184</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>185</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">f</span><span class="WHIT">
|
||
<span class='line'>186</span> </span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_t.log_file</span><span class="WHIT">
|
||
<span class='line'>187</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">f</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_p.logF</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">fso.OpenTextFile</span><span class="PUNC">(</span><span class="NAME">_t.log_file</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>188</span> </span><span class="WHIT"> </span><span class="NUMB">8</span><span class="COMM">/* ForAppending */</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="COMM">/* create */</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>189</span> </span><span class="WHIT"> </span><span class="NAME">_t.log_encoding</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>190</span> </span><span class="WHIT"> </span><span class="NAME">f.Write</span><span class="PUNC">(</span><span class="NAME">_p.sbuf.join</span><span class="PUNC">(</span><span class="NAME">_t.save_new_line</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p.sbuf</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>191</span> </span><span class="WHIT"> </span><span class="NAME">_p.sbufL</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_t.error_message</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>192</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>193</span> </span><span class="WHIT"> </span><span class="NAME">_t.error_message</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">;</span><span class="COMM">// err(e);</span><span class="WHIT">
|
||
<span class='line'>194</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>195</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>196</span> </span><span class="WHIT"> </span><span class="NAME">_p.sbufL</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">m.length</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>197</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>198</span>
|
||
<span class='line'>199</span> </span><span class="COMM">// instance constructor ---------------------------</span><span class="WHIT">
|
||
<span class='line'>200</span> </span><span class="COMM">// (document object)</span><span class="WHIT">
|
||
<span class='line'>201</span> </span><span class="COMM">/*
|
||
<span class='line'>202</span>
|
||
<span class='line'>203</span> _=this
|
||
<span class='line'>204</span>
|
||
<span class='line'>205</span>
|
||
<span class='line'>206</span> TODO:
|
||
<span class='line'>207</span> set class in each input
|
||
<span class='line'>208</span> input array
|
||
<span class='line'>209</span> show file path & directory functional 可從 FSO operation.hta 移植
|
||
<span class='line'>210</span> 增加 group 以便在多次輸入時亦可 toggle 或排版
|
||
<span class='line'>211</span>
|
||
<span class='line'>212</span> count
|
||
<span class='line'>213</span> c.f.: GLog
|
||
<span class='line'>214</span>
|
||
<span class='line'>215</span> dependency:
|
||
<span class='line'>216</span>
|
||
<span class='line'>217</span> */</span><span class="WHIT">
|
||
<span class='line'>218</span> </span><span class="COMM">/**
|
||
<span class='line'>219</span> * initial a log tool's instance/object
|
||
<span class='line'>220</span> * @class log function
|
||
<span class='line'>221</span> * @see usage: <a href="#.extend">CeL.application.debug.log.extend</a>
|
||
<span class='line'>222</span> * @since 2008/8/20 23:9:48
|
||
<span class='line'>223</span> * @requires gDate(),NewLine,fso
|
||
<span class='line'>224</span>
|
||
<span class='line'>225</span> * @constructor
|
||
<span class='line'>226</span> * @name CeL.application.debug.log
|
||
<span class='line'>227</span> * @param {String|object HTMLElement} obj log target: message area element or id
|
||
<span class='line'>228</span> * @param {Object} [className_set] class name set
|
||
<span class='line'>229</span> */</span><span class="WHIT">
|
||
<span class='line'>230</span> </span><span class="NAME">_tmp</span><span class="PUNC">;</span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>231</span> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">className_set</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>232</span> </span><span class="WHIT"> </span><span class="COMM">// Initial instance object. You can set it yourself.</span><span class="WHIT">
|
||
<span class='line'>233</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>234</span> * log 時 warning/error message 之 className
|
||
<span class='line'>235</span> * @name CeL.application.debug.log.prototype.className_set
|
||
<span class='line'>236</span> */</span><span class="WHIT">
|
||
<span class='line'>237</span> </span><span class="WHIT"> </span><span class="NAME">this.className_set</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">className_set</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>238</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>239</span> * @description 當呼叫 {@link CeL.application.debug.log.prototype.log} 時使用的 className, DEFAULT className.
|
||
<span class='line'>240</span> * @name CeL.application.debug.log.prototype.className_set.log
|
||
<span class='line'>241</span> */</span><span class="WHIT">
|
||
<span class='line'>242</span> </span><span class="WHIT"> </span><span class="NAME">log</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'debug_log'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>243</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>244</span> * @description 當呼叫 {@link CeL.application.debug.log.prototype.warn} 時使用的 className
|
||
<span class='line'>245</span> * @name CeL.application.debug.log.prototype.className_set.warn
|
||
<span class='line'>246</span> */</span><span class="WHIT">
|
||
<span class='line'>247</span> </span><span class="WHIT"> </span><span class="NAME">warn</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'debug_warn'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>248</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>249</span> * @description 當呼叫 {@link CeL.application.debug.log.prototype.err} 時使用的 className
|
||
<span class='line'>250</span> * @name CeL.application.debug.log.prototype.className_set.err
|
||
<span class='line'>251</span> */</span><span class="WHIT">
|
||
<span class='line'>252</span> </span><span class="WHIT"> </span><span class="NAME">err</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'debug_err'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>253</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>254</span> * @description 當呼叫 {@link CeL.application.debug.log.prototype.set_board} 時設定 log panel 使用的 className
|
||
<span class='line'>255</span> * @name CeL.application.debug.log.prototype.className_set.panel
|
||
<span class='line'>256</span> */</span><span class="WHIT">
|
||
<span class='line'>257</span> </span><span class="WHIT"> </span><span class="NAME">panel</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'debug_panel'</span><span class="WHIT">
|
||
<span class='line'>258</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>259</span>
|
||
<span class='line'>260</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>261</span> * log 時 warning/error message 之 prefix
|
||
<span class='line'>262</span> * @name CeL.application.debug.log.prototype.message_prefix
|
||
<span class='line'>263</span> */</span><span class="WHIT">
|
||
<span class='line'>264</span> </span><span class="WHIT"> </span><span class="NAME">this.message_prefix</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>265</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>266</span> * @description 當呼叫 {@link CeL.application.debug.log.prototype.log} 時使用的 prefix, DEFAULT prefix.
|
||
<span class='line'>267</span> * @name CeL.application.debug.log.prototype.message_prefix.log
|
||
<span class='line'>268</span> */</span><span class="WHIT">
|
||
<span class='line'>269</span> </span><span class="WHIT"> </span><span class="NAME">log</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>270</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>271</span> * @description 當呼叫 {@link CeL.application.debug.log.prototype.warn} 時使用的 prefix
|
||
<span class='line'>272</span> * @name CeL.application.debug.log.prototype.message_prefix.warn
|
||
<span class='line'>273</span> */</span><span class="WHIT">
|
||
<span class='line'>274</span> </span><span class="WHIT"> </span><span class="NAME">warn</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>275</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>276</span> * @description 表示當呼叫 {@link CeL.application.debug.log.prototype.err}, 是錯誤 error message 時使用的 prefix
|
||
<span class='line'>277</span> * @name CeL.application.debug.log.prototype.message_prefix.err
|
||
<span class='line'>278</span> */</span><span class="WHIT">
|
||
<span class='line'>279</span> </span><span class="WHIT"> </span><span class="NAME">err</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'<em>!! Error !!</em> '</span><span class="WHIT">
|
||
<span class='line'>280</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>281</span>
|
||
<span class='line'>282</span> </span><span class="WHIT"> </span><span class="NAME">this.id</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p.length</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>283</span> </span><span class="WHIT"> </span><span class="NAME">p.push</span><span class="PUNC">(</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>284</span> </span><span class="WHIT"> </span><span class="NAME">instance</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>285</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>286</span> * write buffer
|
||
<span class='line'>287</span> */</span><span class="WHIT">
|
||
<span class='line'>288</span> </span><span class="WHIT"> </span><span class="NAME">buf</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>289</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>290</span> * save buffer when we need to save the messages
|
||
<span class='line'>291</span> */</span><span class="WHIT">
|
||
<span class='line'>292</span> </span><span class="WHIT"> </span><span class="NAME">sbuf</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>293</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>294</span> * length of save buffer
|
||
<span class='line'>295</span> */</span><span class="WHIT">
|
||
<span class='line'>296</span> </span><span class="WHIT"> </span><span class="NAME">sbufL</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>297</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>298</span> * now logged buffer
|
||
<span class='line'>299</span> */</span><span class="WHIT">
|
||
<span class='line'>300</span> </span><span class="WHIT"> </span><span class="NAME">lbuf</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="WHIT">
|
||
<span class='line'>301</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="WHIT">
|
||
<span class='line'>302</span> </span><span class="WHIT"> </span><span class="NAME">this.set_board</span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>303</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>304</span>
|
||
<span class='line'>305</span>
|
||
<span class='line'>306</span>
|
||
<span class='line'>307</span> </span><span class="COMM">// class public interface ---------------------------</span><span class="WHIT">
|
||
<span class='line'>308</span>
|
||
<span class='line'>309</span> </span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>310</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>311</span> </span><span class="COMM">/**
|
||
<span class='line'>312</span> * do the log action
|
||
<span class='line'>313</span> * @memberOf CeL.application.debug.log
|
||
<span class='line'>314</span> * @private
|
||
<span class='line'>315</span> */</span><span class="WHIT">
|
||
<span class='line'>316</span> </span><span class="NAME">do_log</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">id</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>317</span> </span><span class="COMM">/* 這段應該只在 module namespace 重複定義時才會發生
|
||
<span class='line'>318</span> var I=p[id];
|
||
<span class='line'>319</span> if(!I){
|
||
<span class='line'>320</span> alert('.do_log: not exist: ['+id+']');
|
||
<span class='line'>321</span> return;
|
||
<span class='line'>322</span> }
|
||
<span class='line'>323</span> I=I.instance;
|
||
<span class='line'>324</span> */</span><span class="WHIT">
|
||
<span class='line'>325</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">I</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">id</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">instance</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>326</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">I.do_log</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>327</span> </span><span class="WHIT"> </span><span class="NAME">I.do_log</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>328</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>329</span>
|
||
<span class='line'>330</span>
|
||
<span class='line'>331</span> </span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>332</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>333</span> </span><span class="COMM">/**
|
||
<span class='line'>334</span> * 對各種不同 error object 作應對,獲得可理解的 error message。
|
||
<span class='line'>335</span> * @param e error object
|
||
<span class='line'>336</span> * @param new_line new_line
|
||
<span class='line'>337</span> * @param caller function caller
|
||
<span class='line'>338</span> * @memberOf CeL.application.debug.log
|
||
<span class='line'>339</span> * @see
|
||
<span class='line'>340</span> * http://msdn.microsoft.com/en-us/library/ms976144.aspx
|
||
<span class='line'>341</span> * The facility code establishes who originated the error. For example, all internal script engine errors generated by the JScript engine have a facility code of "A".
|
||
<span class='line'>342</span> * http://msdn.microsoft.com/en-us/library/ms690088(VS.85).aspx
|
||
<span class='line'>343</span> *
|
||
<span class='line'>344</span> * http://msdn.microsoft.com/en-us/library/t9zk6eay.aspx
|
||
<span class='line'>345</span> * http://msdn.microsoft.com/en-us/library/microsoft.jscript.errorobject.aspx
|
||
<span class='line'>346</span> * Specifies the name of the type of the error.
|
||
<span class='line'>347</span> * Possible values include Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, and URIError.
|
||
<span class='line'>348</span> */</span><span class="WHIT">
|
||
<span class='line'>349</span> </span><span class="NAME">get_error_message</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">get_error_message</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">new_line</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>350</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">new_line</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>351</span> </span><span class="WHIT"> </span><span class="NAME">new_line</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_.prototype.save_new_line</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>352</span>
|
||
<span class='line'>353</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>354</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>355</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>356</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: do not use .caller</span><span class="WHIT">
|
||
<span class='line'>357</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">get_error_message.caller</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>358</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>359</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>360</span>
|
||
<span class='line'>361</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>362</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'from the top level'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>363</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>364</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'@'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">library_namespace.get_function_name</span><span class="PUNC">(</span><span class="NAME">caller</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>365</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>366</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'@'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">library_namespace.Class</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>367</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>368</span>
|
||
<span class='line'>369</span>
|
||
<span class='line'>370</span> </span><span class="WHIT"> </span><span class="COMM">// from popErr()</span><span class="WHIT">
|
||
<span class='line'>371</span> </span><span class="WHIT"> </span><span class="COMM">// type</span><span class="WHIT">
|
||
<span class='line'>372</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">library_namespace.is_type</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>373</span> </span><span class="WHIT"> </span><span class="COMM">// message</span><span class="WHIT">
|
||
<span class='line'>374</span> </span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'Error'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
|
||
<span class='line'>375</span> </span><span class="WHIT"> </span><span class="STRN">'Error '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">': '</span><span class="WHIT">
|
||
<span class='line'>376</span> </span><span class="WHIT"> </span><span class="COMM">// http://msdn.microsoft.com/en-us/library/cc231198(PROT.10).aspx</span><span class="WHIT">
|
||
<span class='line'>377</span> </span><span class="WHIT"> </span><span class="COMM">// <a href="http://msdn.microsoft.com/en-us/library/ms819773.aspx">Winerror.h</a>: error code definitions for the Win32 API functions</span><span class="WHIT">
|
||
<span class='line'>378</span> </span><span class="WHIT"> </span><span class="COMM">// (e.number & 0xFFFF): See 錯誤代碼 /錯誤提示碼 <a href="http://msdn.microsoft.com/en-us/library/ms681381%28VS.85%29.aspx">System Error Codes</a></span><span class="WHIT">
|
||
<span class='line'>379</span> </span><span class="WHIT"> </span><span class="COMM">// http://social.msdn.microsoft.com/Search/zh-TW/?Query=%22System+Error+Codes%22+740&AddEnglish=1</span><span class="WHIT">
|
||
<span class='line'>380</span> </span><span class="WHIT"> </span><span class="COMM">// http://msdn.microsoft.com/en-us/library/aa394559(VS.85).aspx</span><span class="WHIT">
|
||
<span class='line'>381</span> </span><span class="WHIT"> </span><span class="COMM">// net helpmsg (e.number & 0xFFFF)</span><span class="WHIT">
|
||
<span class='line'>382</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.number</span><span class="WHIT"> </span><span class="PUNC">&</span><span class="WHIT"> </span><span class="NUMB">0xFFFF</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.name</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">' ['</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">e.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'] '</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">' '</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>383</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'(facility code '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.number</span><span class="WHIT"> </span><span class="PUNC">>></span><span class="WHIT"> </span><span class="NUMB">16</span><span class="WHIT"> </span><span class="PUNC">&</span><span class="WHIT"> </span><span class="NUMB">0x1FFF</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'): '</span><span class="WHIT">
|
||
<span class='line'>384</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">new_line</span><span class="WHIT">
|
||
<span class='line'>385</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.message</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/\r?\n/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'<br/>'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>386</span> </span><span class="WHIT"> </span><span class="COMM">// .message 為主,.description 是舊的。</span><span class="WHIT">
|
||
<span class='line'>387</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">e.description</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">e.description</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">e.message</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
|
||
<span class='line'>388</span> </span><span class="WHIT"> </span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT">
|
||
<span class='line'>389</span> </span><span class="WHIT"> </span><span class="NAME">new_line</span><span class="WHIT">
|
||
<span class='line'>390</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">new_line</span><span class="WHIT">
|
||
<span class='line'>391</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">e.description</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/\r?\n/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'<br/>'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>392</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>393</span>
|
||
<span class='line'>394</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'DOMException'</span><span class="PUNC">?</span><span class="WHIT">
|
||
<span class='line'>395</span> </span><span class="WHIT"> </span><span class="COMM">// http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-17189187</span><span class="WHIT">
|
||
<span class='line'>396</span> </span><span class="WHIT"> </span><span class="STRN">'['</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'] '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">e.code</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">': '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">e.message</span><span class="WHIT">
|
||
<span class='line'>397</span>
|
||
<span class='line'>398</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT">
|
||
<span class='line'>399</span>
|
||
<span class='line'>400</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'['</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'] '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e.message</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>401</span>
|
||
<span class='line'>402</span>
|
||
<span class='line'>403</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">library_namespace.is_debug</span><span class="PUNC">(</span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">e</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>404</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">T</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>405</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>406</span> </span><span class="WHIT"> </span><span class="COMM">// Firefox has (new Error).stack</span><span class="WHIT">
|
||
<span class='line'>407</span> </span><span class="WHIT"> </span><span class="COMM">// http://eriwen.com/javascript/js-stack-trace/</span><span class="WHIT">
|
||
<span class='line'>408</span> </span><span class="WHIT"> </span><span class="NAME">m</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'<br/> <span class="debug_debug">'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'</span>: '</span><span class="WHIT">
|
||
<span class='line'>409</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">[</span><span class="NAME">T</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'stack'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
|
||
<span class='line'>410</span> </span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">[</span><span class="NAME">T</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/[\r\n]+$/</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/(@)([a-z\-]+:\/\/.+)(:)(\d+)$/gm</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'$1<a href="view-source:$2#$4" target="_blank">$2</a>$3$4'</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">replace</span><span class="PUNC">(</span><span class="REGX">/\n/g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'<br/>- '</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>411</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">[</span><span class="NAME">T</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">T</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'fileName'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'<a href="view-source:'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">[</span><span class="NAME">T</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'" target="_blank">'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">[</span><span class="NAME">T</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'</a>'</span><span class="WHIT">
|
||
<span class='line'>412</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">e</span><span class="PUNC">[</span><span class="NAME">T</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>413</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>414</span>
|
||
<span class='line'>415</span> </span><span class="WHIT"> </span><span class="COMM">// m += ' (' + arguments.callee.caller + ')';</span><span class="WHIT">
|
||
<span class='line'>416</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">m</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>417</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>418</span>
|
||
<span class='line'>419</span>
|
||
<span class='line'>420</span> </span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>421</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>422</span> </span><span class="COMM">/**
|
||
<span class='line'>423</span> * get node description
|
||
<span class='line'>424</span> *
|
||
<span class='line'>425</span> * @param node
|
||
<span class='line'>426</span> * HTML node
|
||
<span class='line'>427</span> * @memberOf CeL.application.debug.log
|
||
<span class='line'>428</span> */</span><span class="WHIT">
|
||
<span class='line'>429</span> </span><span class="NAME">node_description</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">flag</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>430</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'string'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>431</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>432</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">node</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>433</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>434</span>
|
||
<span class='line'>435</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>436</span>
|
||
<span class='line'>437</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">node.id</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>438</span> </span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'#'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">node.id</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>439</span>
|
||
<span class='line'>440</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">node.className</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>441</span> </span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'.'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">node.className</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>442</span>
|
||
<span class='line'>443</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">node.tagName</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>444</span> </span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'<'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">node.tagName</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'>'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>445</span>
|
||
<span class='line'>446</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">node.innerHTML</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>447</span> </span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">node.innerHTML</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>448</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">description.length</span><span class="WHIT"> </span><span class="PUNC">></span><span class="WHIT"> </span><span class="NUMB">40</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>449</span> </span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">description.slice</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">40</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>450</span> </span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">description.replace</span><span class="PUNC">(</span><span class="REGX">/</g</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'<'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>451</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>452</span>
|
||
<span class='line'>453</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: 對 Range object 之類的處理</span><span class="WHIT">
|
||
<span class='line'>454</span> </span><span class="WHIT"> </span><span class="COMM">// http://help.dottoro.com/ljxsqnoi.php</span><span class="WHIT">
|
||
<span class='line'>455</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">description</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'(null description node: '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">library_namespace.is_type</span><span class="PUNC">(</span><span class="NAME">node</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">')'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>456</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>457</span>
|
||
<span class='line'>458</span>
|
||
<span class='line'>459</span> </span><span class="COMM">//預設以訊息框代替</span><span class="WHIT">
|
||
<span class='line'>460</span> </span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>461</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>462</span> </span><span class="NAME">default_log_target</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">
|
||
<span class='line'>463</span> </span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Function</span><span class="PUNC">(</span><span class="STRN">'m'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>464</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">JSalert</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'JSalert'</span><span class="WHIT">
|
||
<span class='line'>465</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">WScript</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'WScript.Echo'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'alert'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>466</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"(typeof m==='object'?'['+m.l+'] '+m.m:m);"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>467</span>
|
||
<span class='line'>468</span>
|
||
<span class='line'>469</span> </span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>470</span> </span><span class="PUNC">.</span><span class="WHIT">
|
||
<span class='line'>471</span> </span><span class="COMM">/**
|
||
<span class='line'>472</span> * get new extend instance
|
||
<span class='line'>473</span> * @param {String|object HTMLElement} [obj] message area element or id
|
||
<span class='line'>474</span> * @return {Array} [ instance of this module, log function, warning function, error function ]
|
||
<span class='line'>475</span> * @example
|
||
<span class='line'>476</span> *
|
||
<span class='line'>477</span> * // status logger
|
||
<span class='line'>478</span> * var SL=new CeL.application.debug.log('log'),sl=SL[1],warn=SL[2],err=SL[3];
|
||
<span class='line'>479</span> * sl(msg);
|
||
<span class='line'>480</span> * sl(msg,clear);
|
||
<span class='line'>481</span> *
|
||
<span class='line'>482</span> * // general log
|
||
<span class='line'>483</span> * function_set = new CeL.application.debug.log.extend('panel',{});
|
||
<span class='line'>484</span> * // 1.
|
||
<span class='line'>485</span> * function_set = new CeL.code.log.extend('panel',{});
|
||
<span class='line'>486</span> * logger = function_set[1];
|
||
<span class='line'>487</span> * // 2.
|
||
<span class='line'>488</span> * log_only = (new CeL.code.log.extend('panel',{}))[1];
|
||
<span class='line'>489</span> *
|
||
<span class='line'>490</span> * @_memberOf CeL.application.debug.log
|
||
<span class='line'>491</span> * @since 2009/8/24 20:15:31
|
||
<span class='line'>492</span> */</span><span class="WHIT">
|
||
<span class='line'>493</span> </span><span class="NAME">extend</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">obj</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">className_set</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>494</span> </span><span class="WHIT"> </span><span class="COMM">//CeL.Log=new CeL.code.log(function(m){var F=typeof JSalert==='function'?JSalert:typeof alert==='function'?alert:WScript.Echo;F(typeof m==='object'?'['+m.l+'] '+m.m:m);});</span><span class="WHIT">
|
||
<span class='line'>495</span> </span><span class="WHIT"> </span><span class="COMM">/**
|
||
<span class='line'>496</span> * new instance
|
||
<span class='line'>497</span> * @type CeL.application.debug.log
|
||
<span class='line'>498</span> * @inner
|
||
<span class='line'>499</span> * @ignore
|
||
<span class='line'>500</span> */</span><span class="WHIT">
|
||
<span class='line'>501</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_</span><span class="COMM">// JSDT:_module_</span><span class="WHIT">
|
||
<span class='line'>502</span> </span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">obj</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">_.default_log_target</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">className_set</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>503</span>
|
||
<span class='line'>504</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: do not use arguments</span><span class="WHIT">
|
||
<span class='line'>505</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>506</span> </span><span class="WHIT"> </span><span class="NAME">o.log.apply</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>507</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>508</span> </span><span class="WHIT"> </span><span class="NAME">o.warn.apply</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>509</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>510</span> </span><span class="WHIT"> </span><span class="NAME">o.err.apply</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">arguments</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>511</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>512</span>
|
||
<span class='line'>513</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>514</span>
|
||
<span class='line'>515</span>
|
||
<span class='line'>516</span> </span><span class="COMM">/*
|
||
<span class='line'>517</span> _.option_open=function(p){
|
||
<span class='line'>518</span>
|
||
<span class='line'>519</span> };
|
||
<span class='line'>520</span>
|
||
<span class='line'>521</span> _.option_file=function(p){
|
||
<span class='line'>522</span> };
|
||
<span class='line'>523</span>
|
||
<span class='line'>524</span> _.option_folder=function(p){
|
||
<span class='line'>525</span> };
|
||
<span class='line'>526</span> */</span><span class="WHIT">
|
||
<span class='line'>527</span>
|
||
<span class='line'>528</span> </span><span class="COMM">// class constructor ---------------------------</span><span class="WHIT">
|
||
<span class='line'>529</span>
|
||
<span class='line'>530</span>
|
||
<span class='line'>531</span> </span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>532</span> </span><span class="PUNC">.</span><span class="NAME">prototype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>533</span>
|
||
<span class='line'>534</span> </span><span class="COMM">// instance public interface -------------------</span><span class="WHIT">
|
||
<span class='line'>535</span>
|
||
<span class='line'>536</span> </span><span class="COMM">/**
|
||
<span class='line'>537</span> * 當執行寫檔案或任何錯誤發生時之錯誤訊息。<br/>
|
||
<span class='line'>538</span> * while error occurred.. should read only
|
||
<span class='line'>539</span> * @name CeL.application.debug.log.prototype.error_message
|
||
<span class='line'>540</span> */</span><span class="WHIT">
|
||
<span class='line'>541</span> </span><span class="NAME">error_message</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>542</span>
|
||
<span class='line'>543</span> </span><span class="COMM">/**
|
||
<span class='line'>544</span> * 超過這長度才 save。<=0 表示 autoflash,非數字則不紀錄。
|
||
<span class='line'>545</span> * @name CeL.application.debug.log.prototype.save_limit
|
||
<span class='line'>546</span> * @type Number
|
||
<span class='line'>547</span> */</span><span class="WHIT">
|
||
<span class='line'>548</span> </span><span class="NAME">save_limit</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">4000</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>549</span>
|
||
<span class='line'>550</span> </span><span class="COMM">/**
|
||
<span class='line'>551</span> * 在 log 結束時執行,相當於 VB 中 DoEvent() 或 。
|
||
<span class='line'>552</span> * @name CeL.application.debug.log.prototype.do_event
|
||
<span class='line'>553</span> */</span><span class="WHIT">
|
||
<span class='line'>554</span> </span><span class="NAME">do_event</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">library_namespace.DoNoting</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>555</span>
|
||
<span class='line'>556</span>
|
||
<span class='line'>557</span> </span><span class="COMM">/**
|
||
<span class='line'>558</span> * log 時使用之 tagName, 可用 div / span 等。若不設定會用 document.createTextNode
|
||
<span class='line'>559</span> * @name CeL.application.debug.log.prototype.log_tag
|
||
<span class='line'>560</span> */</span><span class="WHIT">
|
||
<span class='line'>561</span> </span><span class="NAME">log_tag</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'div'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>562</span>
|
||
<span class='line'>563</span>
|
||
<span class='line'>564</span> </span><span class="COMM">/**
|
||
<span class='line'>565</span> * boolean or function(message, log level) return save or not
|
||
<span class='line'>566</span> *
|
||
<span class='line'>567</span> * @name CeL.application.debug.log.prototype.save_log
|
||
<span class='line'>568</span> * @type Boolean
|
||
<span class='line'>569</span> */</span><span class="WHIT">
|
||
<span class='line'>570</span> </span><span class="NAME">save_log</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>571</span> </span><span class="COMM">/**
|
||
<span class='line'>572</span> * save log to this file path
|
||
<span class='line'>573</span> *
|
||
<span class='line'>574</span> * @name CeL.application.debug.log.prototype.log_file
|
||
<span class='line'>575</span> * @type Boolean
|
||
<span class='line'>576</span> */</span><span class="WHIT">
|
||
<span class='line'>577</span> </span><span class="NAME">log_file</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>578</span> </span><span class="COMM">/**
|
||
<span class='line'>579</span> * auto save log. 若未設定,記得在 onunload 時 .save()
|
||
<span class='line'>580</span> *
|
||
<span class='line'>581</span> * @name CeL.application.debug.log.prototype.flush
|
||
<span class='line'>582</span> * @type Boolean
|
||
<span class='line'>583</span> */</span><span class="WHIT">
|
||
<span class='line'>584</span> </span><span class="NAME">flush</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>585</span> </span><span class="COMM">/**
|
||
<span class='line'>586</span> * 在 save log 時 add date
|
||
<span class='line'>587</span> *
|
||
<span class='line'>588</span> * @name CeL.application.debug.log.prototype.save_date
|
||
<span class='line'>589</span> * @type Boolean
|
||
<span class='line'>590</span> */</span><span class="WHIT">
|
||
<span class='line'>591</span> </span><span class="NAME">save_date</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>592</span> </span><span class="COMM">/**
|
||
<span class='line'>593</span> * 在 save log 時的換行
|
||
<span class='line'>594</span> *
|
||
<span class='line'>595</span> * @name CeL.application.debug.log.prototype.save_new_line
|
||
<span class='line'>596</span> * @type string
|
||
<span class='line'>597</span> */</span><span class="WHIT">
|
||
<span class='line'>598</span> </span><span class="NAME">save_new_line</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">library_namespace.env.new_line</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="STRN">'\r\n'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>599</span> </span><span class="COMM">/**
|
||
<span class='line'>600</span> * 在 save log 時的 encoding
|
||
<span class='line'>601</span> *
|
||
<span class='line'>602</span> * @name CeL.application.debug.log.prototype.log_encoding
|
||
<span class='line'>603</span> */</span><span class="WHIT">
|
||
<span class='line'>604</span> </span><span class="NAME">log_encoding</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="COMM">//TristateTrue</span><span class="WHIT">
|
||
<span class='line'>605</span>
|
||
<span class='line'>606</span>
|
||
<span class='line'>607</span> </span><span class="COMM">/**
|
||
<span class='line'>608</span> * 自動捲動
|
||
<span class='line'>609</span> *
|
||
<span class='line'>610</span> * @name CeL.application.debug.log.prototype.auto_scroll
|
||
<span class='line'>611</span> * @type Boolean
|
||
<span class='line'>612</span> */</span><span class="WHIT">
|
||
<span class='line'>613</span> </span><span class="NAME">auto_scroll</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>614</span> </span><span class="COMM">/**
|
||
<span class='line'>615</span> * 沒有內容時自動隱藏
|
||
<span class='line'>616</span> *
|
||
<span class='line'>617</span> * @deprecated TODO
|
||
<span class='line'>618</span> * @name CeL.application.debug.log.prototype.auto_hide
|
||
<span class='line'>619</span> * @type Boolean
|
||
<span class='line'>620</span> */</span><span class="WHIT">
|
||
<span class='line'>621</span> </span><span class="NAME">auto_hide</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>622</span>
|
||
<span class='line'>623</span> </span><span class="COMM">/**
|
||
<span class='line'>624</span> * 等待多久才顯示 log。若為 0 則直接顯示。<br/>
|
||
<span class='line'>625</span> * (WScript 沒有 setTimeout)
|
||
<span class='line'>626</span> * @name CeL.application.debug.log.prototype.interval
|
||
<span class='line'>627</span> */</span><span class="WHIT">
|
||
<span class='line'>628</span> </span><span class="NAME">interval</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">setTimeout</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>629</span>
|
||
<span class='line'>630</span> </span><span class="COMM">/**
|
||
<span class='line'>631</span> * log function (no delay)
|
||
<span class='line'>632</span> * @name CeL.application.debug.log.prototype.do_log
|
||
<span class='line'>633</span> */</span><span class="WHIT">
|
||
<span class='line'>634</span> </span><span class="NAME">do_log</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">level</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>635</span> </span><span class="WHIT"> </span><span class="COMM">// if(p[this.id].th)clearTimeout(p[this.id].th);</span><span class="WHIT">
|
||
<span class='line'>636</span>
|
||
<span class='line'>637</span> </span><span class="WHIT"> </span><span class="COMM">// reset timeout handle</span><span class="WHIT">
|
||
<span class='line'>638</span> </span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">this.id</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">th</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>639</span>
|
||
<span class='line'>640</span> </span><span class="WHIT"> </span><span class="NAME">w</span><span class="PUNC">(</span><span class="NAME">this.id</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>641</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>642</span>
|
||
<span class='line'>643</span> </span><span class="COMM">/**
|
||
<span class='line'>644</span> * class instance 預設作 log 之 function
|
||
<span class='line'>645</span> * @param {String} m message
|
||
<span class='line'>646</span> * @param clean clean message area
|
||
<span class='line'>647</span> * @param level log level
|
||
<span class='line'>648</span> * @return
|
||
<span class='line'>649</span> * @name CeL.application.debug.log.prototype.log
|
||
<span class='line'>650</span> */</span><span class="WHIT">
|
||
<span class='line'>651</span> </span><span class="NAME">log</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">level</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>652</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">t.id</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>653</span> </span><span class="WHIT"> </span><span class="COMM">//var msg_head=(arguments.callee.caller+'').match(/function\s([^\(]+)/);if(msg_head)msg_head=msg_head[1]+' ';</span><span class="WHIT">
|
||
<span class='line'>654</span> </span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">t.id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">level</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>655</span>
|
||
<span class='line'>656</span> </span><span class="WHIT"> </span><span class="COMM">// window.status = msg;</span><span class="WHIT">
|
||
<span class='line'>657</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">level</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>658</span> </span><span class="WHIT"> </span><span class="NAME">msg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">log_data</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">level</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>659</span>
|
||
<span class='line'>660</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">clean</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>661</span> </span><span class="WHIT"> </span><span class="COMM">// clean log next time</span><span class="WHIT">
|
||
<span class='line'>662</span> </span><span class="WHIT"> </span><span class="NAME">_p.clean</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p.buf</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="WHIT"> </span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>663</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>664</span> </span><span class="WHIT"> </span><span class="NAME">_p.buf.push</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>665</span>
|
||
<span class='line'>666</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">t.interval</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>667</span> </span><span class="WHIT"> </span><span class="NAME">t.do_log</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>668</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">_p.th</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>669</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">window.setTimeout</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>670</span> </span><span class="WHIT"> </span><span class="NAME">t.interval</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">t.do_log</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>671</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT">
|
||
<span class='line'>672</span> </span><span class="WHIT"> </span><span class="COMM">// _p.th=setTimeout(cn+'.do_log('+t.id+');',t.interval);</span><span class="WHIT">
|
||
<span class='line'>673</span> </span><span class="WHIT"> </span><span class="NAME">_p.th</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">window.setTimeout</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>674</span> </span><span class="WHIT"> </span><span class="NAME">_.do_log</span><span class="PUNC">(</span><span class="NAME">t.id</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>675</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">t.interval</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>676</span>
|
||
<span class='line'>677</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">t.do_event</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>678</span> </span><span class="WHIT"> </span><span class="NAME">t.do_event</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>679</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>680</span>
|
||
<span class='line'>681</span> </span><span class="COMM">/*
|
||
<span class='line'>682</span> TODO:
|
||
<span class='line'>683</span> other methods: INFO,DEBUG,WARNING,ERROR,FATAL,UNKNOWN
|
||
<span class='line'>684</span> */</span><span class="WHIT">
|
||
<span class='line'>685</span>
|
||
<span class='line'>686</span> </span><span class="COMM">/**
|
||
<span class='line'>687</span> * save message
|
||
<span class='line'>688</span> * @name CeL.application.debug.log.prototype.save
|
||
<span class='line'>689</span> */</span><span class="WHIT">
|
||
<span class='line'>690</span> </span><span class="NAME">save</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>691</span> </span><span class="WHIT"> </span><span class="NAME">s</span><span class="PUNC">(</span><span class="STRN">''</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.id</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="COMM">/* force */</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>692</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>693</span>
|
||
<span class='line'>694</span> </span><span class="COMM">// ** important ** 這邊不能作 object 之 initialization,否則因為 object 只會 copy reference,因此 new 時東西會一樣。initialization 得在 _() 中作!</span><span class="WHIT">
|
||
<span class='line'>695</span> </span><span class="COMM">//className_set:{},</span><span class="WHIT">
|
||
<span class='line'>696</span>
|
||
<span class='line'>697</span> </span><span class="COMM">/**
|
||
<span class='line'>698</span> * log a warning
|
||
<span class='line'>699</span> * @name CeL.application.debug.log.prototype.warn
|
||
<span class='line'>700</span> */</span><span class="WHIT">
|
||
<span class='line'>701</span> </span><span class="NAME">warn</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>702</span> </span><span class="WHIT"> </span><span class="NAME">this.log</span><span class="PUNC">(</span><span class="NAME">m</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'warn'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>703</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>704</span>
|
||
<span class='line'>705</span> </span><span class="COMM">/**
|
||
<span class='line'>706</span> * deal with error message
|
||
<span class='line'>707</span> * @name CeL.application.debug.log.prototype.err
|
||
<span class='line'>708</span> */</span><span class="WHIT">
|
||
<span class='line'>709</span> </span><span class="NAME">err</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">err</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>710</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>711</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>712</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: do not use .caller</span><span class="WHIT">
|
||
<span class='line'>713</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">err.caller</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>714</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">caller.indexOf</span><span class="PUNC">(</span><span class="STRN">'.err.apply('</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>715</span> </span><span class="WHIT"> </span><span class="COMM">// ** 判斷 call from _.extend. 應該避免!</span><span class="WHIT">
|
||
<span class='line'>716</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">caller.caller</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>717</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>718</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: handle exception</span><span class="WHIT">
|
||
<span class='line'>719</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>720</span>
|
||
<span class='line'>721</span> </span><span class="WHIT"> </span><span class="NAME">this.log</span><span class="PUNC">(</span><span class="NAME">_.get_error_message</span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">this.save_new_line</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>722</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'err'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>723</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>724</span>
|
||
<span class='line'>725</span>
|
||
<span class='line'>726</span> </span><span class="COMM">/**
|
||
<span class='line'>727</span> * 設定寫入到哪<br/>set log board for each instance (document object)
|
||
<span class='line'>728</span> * @name CeL.application.debug.log.prototype.set_board
|
||
<span class='line'>729</span> */</span><span class="WHIT">
|
||
<span class='line'>730</span> </span><span class="NAME">set_board</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>731</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">_t.id</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>732</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>733</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'function'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>734</span> </span><span class="WHIT"> </span><span class="NAME">_p.do_function</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>735</span>
|
||
<span class='line'>736</span> </span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>737</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="WHIT">
|
||
<span class='line'>738</span> </span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">document</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'object'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>739</span> </span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">o</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>740</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">o</span><span class="WHIT">
|
||
<span class='line'>741</span> </span><span class="WHIT"> </span><span class="COMM">// TODO</span><span class="WHIT">
|
||
<span class='line'>742</span> </span><span class="WHIT"> </span><span class="COMM">// && library_namespace.is_HTML_obj(o)</span><span class="WHIT">
|
||
<span class='line'>743</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>744</span> </span><span class="WHIT"> </span><span class="NAME">_p.board</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>745</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_t.className_set.panel</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>746</span> </span><span class="WHIT"> </span><span class="NAME">o.className</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_t</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>747</span> </span><span class="WHIT"> </span><span class="KEYW">delete</span><span class="WHIT"> </span><span class="NAME">_p.do_function</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>748</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>749</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>750</span>
|
||
<span class='line'>751</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_p.board</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>752</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>753</span>
|
||
<span class='line'>754</span> </span><span class="COMM">/**
|
||
<span class='line'>755</span> * 獲取當前 buffer 中的 log
|
||
<span class='line'>756</span> * @name CeL.application.debug.log.prototype.get_log
|
||
<span class='line'>757</span> */</span><span class="WHIT">
|
||
<span class='line'>758</span> </span><span class="NAME">get_log</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>759</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">this.id</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">lbuf</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>760</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>761</span>
|
||
<span class='line'>762</span> </span><span class="COMM">/**
|
||
<span class='line'>763</span> * show/hide log board
|
||
<span class='line'>764</span> * @name CeL.application.debug.log.prototype.toggle
|
||
<span class='line'>765</span> */</span><span class="WHIT">
|
||
<span class='line'>766</span> </span><span class="NAME">toggle</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>767</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">this.id</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">board.style</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>768</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_s</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>769</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'undefined'</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>770</span> </span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_s.display</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>771</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_s.display</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">s</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT"> </span><span class="STRN">'block'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'none'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>772</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>773</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>774</span>
|
||
<span class='line'>775</span> </span><span class="COMM">/**
|
||
<span class='line'>776</span> * clear log board
|
||
<span class='line'>777</span> * @name CeL.application.debug.log.prototype.clear_board
|
||
<span class='line'>778</span> */</span><span class="WHIT">
|
||
<span class='line'>779</span> </span><span class="NAME">clear_board</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">b</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>780</span> </span><span class="WHIT"> </span><span class="NAME">b.innerHTML</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>781</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>782</span>
|
||
<span class='line'>783</span> </span><span class="COMM">/**
|
||
<span class='line'>784</span> * 清除全部訊息 clear message
|
||
<span class='line'>785</span> * @name CeL.application.debug.log.prototype.clear
|
||
<span class='line'>786</span> */</span><span class="WHIT">
|
||
<span class='line'>787</span> </span><span class="NAME">clear</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>788</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p</span><span class="PUNC">[</span><span class="NAME">this.id</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>789</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_p.board</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>790</span> </span><span class="WHIT"> </span><span class="NAME">this.clear_board</span><span class="PUNC">(</span><span class="NAME">_p.board</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>791</span> </span><span class="WHIT"> </span><span class="NAME">_p.lbuf</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>792</span> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>793</span>
|
||
<span class='line'>794</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>795</span>
|
||
<span class='line'>796</span> </span><span class="COMM">/**
|
||
<span class='line'>797</span> * 不 extend 的 member.
|
||
<span class='line'>798</span> * '*': 完全不 extend.
|
||
<span class='line'>799</span> * this: 連 module 本身都不 extend 到 library name-space 下.
|
||
<span class='line'>800</span> * @ignore
|
||
<span class='line'>801</span> */</span><span class="WHIT">
|
||
<span class='line'>802</span> </span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>803</span> </span><span class="PUNC">.</span><span class="NAME">no_extend</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'this,do_log,extend'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>804</span>
|
||
<span class='line'>805</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>806</span> </span><span class="WHIT"> </span><span class="NAME">CeL.application.debug.log</span><span class="WHIT">
|
||
<span class='line'>807</span> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>808</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>809</span>
|
||
<span class='line'>810</span> </span><span class="COMM">// ===================================================</span><span class="WHIT">
|
||
<span class='line'>811</span>
|
||
<span class='line'>812</span>
|
||
<span class='line'>813</span> </span><span class="COMM">// 為 modele log 所作的初始化工作</span><span class="WHIT">
|
||
<span class='line'>814</span>
|
||
<span class='line'>815</span> </span><span class="COMM">/**
|
||
<span class='line'>816</span> * modele namespace
|
||
<span class='line'>817</span> * @type CeL.application.debug.log
|
||
<span class='line'>818</span> * @inner
|
||
<span class='line'>819</span> * @ignore
|
||
<span class='line'>820</span> */</span><span class="WHIT">
|
||
<span class='line'>821</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">ns</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CeL.setup_module</span><span class="PUNC">(</span><span class="NAME">module_name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">code_for_including</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>822</span>
|
||
<span class='line'>823</span> </span><span class="COMM">//WScript.Echo(n.extend);</span><span class="WHIT">
|
||
<span class='line'>824</span>
|
||
<span class='line'>825</span> </span><span class="COMM">//code_for_including[generateCode.dLK]='*var Debug={log:code_for_including()};';</span><span class="WHIT">
|
||
<span class='line'>826</span>
|
||
<span class='line'>827</span> </span><span class="NAME">CeL.include_module_resource</span><span class="PUNC">(</span><span class="STRN">'log.css'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">module_name</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>828</span>
|
||
<span class='line'>829</span> </span><span class="COMM">// 為本 library 用</span><span class="WHIT">
|
||
<span class='line'>830</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">CeL.Log</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>831</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ns.extend</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>832</span> </span><span class="WHIT"> </span><span class="NAME">l</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>833</span> </span><span class="WHIT"> </span><span class="COMM">/*
|
||
<span class='line'>834</span> * WHITE SMILING FACE (U+263A).
|
||
<span class='line'>835</span> * http://decodeunicode.org/en/u+263a
|
||
<span class='line'>836</span> * http://wiki.livedoor.jp/qvarie/
|
||
<span class='line'>837</span> */</span><span class="WHIT">
|
||
<span class='line'>838</span> </span><span class="WHIT"> </span><span class="STRN">'log'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'☺'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>839</span> </span><span class="WHIT"> </span><span class="COMM">/*
|
||
<span class='line'>840</span> * U+26A1 HIGH VOLTAGE SIGN
|
||
<span class='line'>841</span> */</span><span class="WHIT">
|
||
<span class='line'>842</span> </span><span class="WHIT"> </span><span class="STRN">'em'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'⚡'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>843</span> </span><span class="WHIT"> </span><span class="COMM">/*
|
||
<span class='line'>844</span> * WARNING SIGN (U+26A0).
|
||
<span class='line'>845</span> */</span><span class="WHIT">
|
||
<span class='line'>846</span> </span><span class="WHIT"> </span><span class="STRN">'warn'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'⚠'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>847</span> </span><span class="WHIT"> </span><span class="COMM">/*
|
||
<span class='line'>848</span> * U+2620 SKULL AND CROSSBONES
|
||
<span class='line'>849</span> */</span><span class="WHIT">
|
||
<span class='line'>850</span> </span><span class="WHIT"> </span><span class="STRN">'err'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'☠'</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>851</span> </span><span class="WHIT"> </span><span class="COMM">/*
|
||
<span class='line'>852</span> * U+2689 BLACK CIRCLE WITH TWO WHITE DOTS
|
||
<span class='line'>853</span> */</span><span class="WHIT">
|
||
<span class='line'>854</span> </span><span class="WHIT"> </span><span class="STRN">'debug'</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'⚉'</span><span class="WHIT">
|
||
<span class='line'>855</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>856</span> </span><span class="WHIT"> </span><span class="NAME">t</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'<img class="debug_icon" src="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">CeL.get_module_path</span><span class="PUNC">(</span><span class="NAME">module_name</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'icon/'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>857</span>
|
||
<span class='line'>858</span> </span><span class="WHIT"> </span><span class="COMM">// override CeL.log</span><span class="WHIT">
|
||
<span class='line'>859</span> </span><span class="WHIT"> </span><span class="NAME">CeL.Log</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>860</span> </span><span class="WHIT"> </span><span class="NAME">CeL.Log.className_set.em</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'debug_em'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>861</span> </span><span class="WHIT"> </span><span class="NAME">CeL.Log.className_set.debug</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'debug_debug'</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>862</span>
|
||
<span class='line'>863</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>864</span> </span><span class="WHIT"> </span><span class="NAME">CeL.Log.message_prefix</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">t</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'.png" alt="['</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT">
|
||
<span class='line'>865</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">']" title="'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">' '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'"/> '</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>866</span>
|
||
<span class='line'>867</span>
|
||
<span class='line'>868</span> </span><span class="WHIT"> </span><span class="NAME">l</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CeL.log</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">CeL.log.buffer</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>869</span>
|
||
<span class='line'>870</span> </span><span class="WHIT"> </span><span class="NAME">CeL.log</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>871</span> </span><span class="WHIT"> </span><span class="NAME">CeL.warn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>872</span> </span><span class="WHIT"> </span><span class="NAME">CeL.err</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>873</span> </span><span class="WHIT"> </span><span class="NAME">CeL.em</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>874</span> </span><span class="WHIT"> </span><span class="NAME">CeL.Log.log.call</span><span class="PUNC">(</span><span class="NAME">CeL.Log</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'em'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>875</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>876</span> </span><span class="WHIT"> </span><span class="NAME">CeL.debug</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">msg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">level</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>877</span> </span><span class="WHIT"> </span><span class="COMM">//alert(CeL.is_debug() + ',' + l + '(' + (l === undefined) + '),' + msg);</span><span class="WHIT">
|
||
<span class='line'>878</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">CeL.is_debug</span><span class="PUNC">(</span><span class="NAME">level</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>879</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">caller</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>880</span> </span><span class="WHIT"> </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>881</span> </span><span class="WHIT"> </span><span class="COMM">// TODO: do not use arguments</span><span class="WHIT">
|
||
<span class='line'>882</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">CeL.get_function_name</span><span class="PUNC">(</span><span class="NAME">arguments.callee.caller</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>883</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
|
||
<span class='line'>884</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>885</span>
|
||
<span class='line'>886</span> </span><span class="WHIT"> </span><span class="NAME">CeL.Log.log.call</span><span class="PUNC">(</span><span class="WHIT">
|
||
<span class='line'>887</span> </span><span class="WHIT"> </span><span class="NAME">CeL.Log</span><span class="PUNC">,</span><span class="WHIT">
|
||
<span class='line'>888</span> </span><span class="WHIT"> </span><span class="NAME">caller</span><span class="WHIT"> </span><span class="PUNC">?</span><span class="WHIT">
|
||
<span class='line'>889</span> </span><span class="WHIT"> </span><span class="STRN">'<span class="debug_caller">'</span><span class="WHIT">
|
||
<span class='line'>890</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">caller</span><span class="COMM">//(caller.charAt(0) === '.' ? CeL.Class + caller : caller)</span><span class="WHIT">
|
||
<span class='line'>891</span> </span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">'</span>: '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="WHIT">
|
||
<span class='line'>892</span> </span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">msg</span><span class="WHIT">
|
||
<span class='line'>893</span> </span><span class="WHIT"> </span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">clean</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">'debug'</span><span class="WHIT">
|
||
<span class='line'>894</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>895</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>896</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>897</span>
|
||
<span class='line'>898</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">l</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>899</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">i</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">)</span><span class="WHIT">
|
||
<span class='line'>900</span> </span><span class="WHIT"> </span><span class="NAME">CeL.debug</span><span class="PUNC">(</span><span class="STRN">'(before loading '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">module_name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">') '</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">l</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>901</span> </span><span class="PUNC">}</span><span class="WHIT">
|
||
<span class='line'>902</span>
|
||
<span class='line'>903</span> </span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
|
||
<span class='line'>904</span>
|
||
<span class='line'>905</span> </span></pre></body></html> |