<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DigiTechLog Dot Com &#187; logging</title>
	<atom:link href="http://digitechlog.com/tag/logging/feed" rel="self" type="application/rss+xml" />
	<link>http://digitechlog.com</link>
	<description>Adobe AIR、Flex、Flash、Java</description>
	<lastBuildDate>Tue, 08 Nov 2011 12:46:29 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>mx.loggingを使ってFlexアプリケーションをデバッグする</title>
		<link>http://digitechlog.com/2008/11/23/using-mx-logging-class-to-debug-your-application-in-flex3.html</link>
		<comments>http://digitechlog.com/2008/11/23/using-mx-logging-class-to-debug-your-application-in-flex3.html#comments</comments>
		<pubDate>Sun, 23 Nov 2008 03:14:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[ログ]]></category>

		<guid isPermaLink="false">http://digitechlog.com/2008/11/23/using-mx-logging-class-to-debug-your-application-in-flex3.html</guid>
		<description><![CDATA[プロジェクトの開発中に、特に大きいなプロジェクトで、バッグの発生するのは避けないことです。モジュールが多くて、ソース量もすっごく多いので、何のモジュールの何の関数に不具合を発生する確定は難しいです。
一般的な対策として、運用中ログ（Fatal,error,warm,info,debug）を出力とします。何か問題を発生して出力されたログファイルを探すとエラーを発生の原因、場所を分かれますね。
Flexに対して、Flex SDK中に既にmx.logging.*パッケージを含めています。これを利用すると各レベルログの出力は簡単となれます。
詳しいサンプルソースは以下のようです（該当サンプルはファイルへ出力するまでではなくて、ログ情報を取得するまでだけです）。
  
１）、初期化、TraceTargetを追加する
var traceTarget : TraceTarget = new TraceTarget();
traceTarget.includeCategory = true;
traceTarget.includeDate = true;
traceTarget.level = LogEventLevel.ALL;//ログレベル、ALLだったら全種類出力
//traceTarget.filters = [&#34;somecate&#34;];//
Log.addTarget(traceTarget);
２）、LogEventリスナーをセット
log.addEventListener(LogEvent.LOG, logHandler);
３）、ログをサーバへ送信
private function logHandler(event : LogEvent) : void
{
var&#160;c : String = (event.currentTarget as ILogger).category;
//Alert.show(StringUtil.substitute(”cate:\t{0},\nmsg:\t{1},\nlevel:\t{2}”, c, event.message, LogEvent.getLevelString(event.level) )
,”use&#160;Log in flex3″ );
//call besiness delegate to send log info to server.
}
４）、ログ対象オブジェクトを取得
var log : ILogger = Log.getLogger(’somecate’);
//log.log(level, msg, …rest)
５）、サーバ側にログ情報を自由で分類して必要なところに保存とする（ファイルとかデータベースへとか）
Related Posts

FluorineFx: Flexと.NET間でAMF通信できるライブラリ
WebORB: [...]]]></description>
			<content:encoded><![CDATA[<p>プロジェクトの開発中に、特に大きいなプロジェクトで、バッグの発生するのは避けないことです。モジュールが多くて、ソース量もすっごく多いので、何のモジュールの何の関数に不具合を発生する確定は難しいです。</p>
<p>一般的な対策として、運用中ログ（Fatal,error,warm,info,debug）を出力とします。何か問題を発生して出力されたログファイルを探すとエラーを発生の原因、場所を分かれますね。</p>
<p>Flexに対して、Flex SDK中に既にmx.logging.*パッケージを含めています。これを利用すると各レベルログの出力は簡単となれます。</p>
<p>詳しいサンプルソースは以下のようです（該当サンプルはファイルへ出力するまでではなくて、ログ情報を取得するまでだけです）。</p>
<p><span id="more-164"></span>  </p>
<p>１）、初期化、TraceTargetを追加する</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">traceTarget</span><span style="color: Gray;"> : </span><span style="color: Blue;">TraceTarget</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">TraceTarget</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">traceTarget</span><span style="color: Gray;">.</span><span style="color: Blue;">includeCategory</span><span style="color: Gray;"> = </span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">traceTarget</span><span style="color: Gray;">.</span><span style="color: Blue;">includeDate</span><span style="color: Gray;"> = </span><span style="color: Green;">true</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">traceTarget</span><span style="color: Gray;">.</span><span style="color: Blue;">level</span><span style="color: Gray;"> = </span><span style="color: Blue;">LogEventLevel</span><span style="color: Gray;">.</span><span style="color: Blue;">ALL</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//ログレベル、ALLだったら全種類出力</span></li>
<li><span style="color: #ffa500;">//traceTarget.filters = [&quot;somecate&quot;];//</span></li>
<li><span style="color: Blue;">Log</span><span style="color: Gray;">.</span><span style="color: Blue;">addTarget</span><span style="color: Olive;">(</span><span style="color: Blue;">traceTarget</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>２）、LogEventリスナーをセット</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Teal;">log</span><span style="color: Gray;">.</span><span style="color: Blue;">addEventListener</span><span style="color: Olive;">(</span><span style="color: Blue;">LogEvent</span><span style="color: Gray;">.</span><span style="color: Blue;">LOG</span><span style="color: Gray;">, </span><span style="color: Blue;">logHandler</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>３）、ログをサーバへ送信</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">private</span><span style="color: Gray;"> </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">logHandler</span><span style="color: Olive;">(</span><span style="color: Blue;">event</span><span style="color: Gray;"> : </span><span style="color: Blue;">LogEvent</span><span style="color: Olive;">)</span><span style="color: Gray;"> : </span><span style="color: Green;">void</span></li>
<li><span style="color: Olive;">{</span></li>
<li><span style="color: Green;">var</span><span style="color: Gray;">&nbsp;</span><span style="color: Teal;">c</span><span style="color: Gray;"> : </span><span style="color: Teal;">String</span><span style="color: Gray;"> = </span><span style="color: Olive;">(</span><span style="color: Blue;">event</span><span style="color: Gray;">.</span><span style="color: Blue;">currentTarget</span><span style="color: Gray;"> </span><span style="color: Blue;">as</span><span style="color: Gray;"> </span><span style="color: Blue;">ILogger</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Teal;">category</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//Alert.show(StringUtil.substitute(”cate:\t{0},\nmsg:\t{1},\nlevel:\t{2}”, c, event.message, LogEvent.getLevelString(event.level) )</span></li>
<li><span style="color: Gray;">,”</span><span style="color: Blue;">use</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Log</span><span style="color: Gray;"> </span><span style="color: Green;">in</span><span style="color: Gray;"> </span><span style="color: Blue;">flex3</span><span style="color: Gray;">″ );</span></li>
<li><span style="color: #ffa500;">//call besiness delegate to send log info to server.</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>４）、ログ対象オブジェクトを取得</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Teal;">log</span><span style="color: Gray;"> : </span><span style="color: Blue;">ILogger</span><span style="color: Gray;"> = </span><span style="color: Blue;">Log</span><span style="color: Gray;">.</span><span style="color: Blue;">getLogger</span><span style="color: Olive;">(</span><span style="color: Gray;">’</span><span style="color: Blue;">somecate</span><span style="color: Gray;">’</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: #ffa500;">//log.log(level, msg, …rest)</span></li></ol></div>
<p>５）、サーバ側にログ情報を自由で分類して必要なところに保存とする（ファイルとかデータベースへとか）</p>
<h3>Related Posts</h3>
<ul class="related_post">
<li><a href="http://digitechlog.com/2009/09/30/fluorine-flash-remoting-for-dot-net.html" title="FluorineFx: Flexと.NET間でAMF通信できるライブラリ">FluorineFx: Flexと.NET間でAMF通信できるライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/09/28/weborb-for-php-is-server-side-technology-enabling-connectivity-between-flex-and-flash-remoting-clients-and-php.html" title="WebORB: FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせ">WebORB: FlashやFlexのリモートクライアントとサーバ側でのPHPを組み合わせ</a></li>
<li><a href="http://digitechlog.com/2009/08/28/sabreamf-is-a-flash-remoting-server-and-client-for-php.html" title="SabreAMF: FlexをPHP5と連携させるフレームワーク">SabreAMF: FlexをPHP5と連携させるフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/05/14/swfobject-embed-flash-content-which-utilizes-one-small-javascript-file.html" title="SWFObject: Flash/FlexをWeb ページに貼りつけるのに便利なJavaScriptライブラリ">SWFObject: Flash/FlexをWeb ページに貼りつけるのに便利なJavaScriptライブラリ</a></li>
<li><a href="http://digitechlog.com/2009/05/08/flex-spreadsheet-is-similar-to-the-flex-datagrid-open-source-componet.html" title="Flex-spreadsheet: オープンソースのExcelのようなスタイルのFlexスプレッドシート">Flex-spreadsheet: オープンソースのExcelのようなスタイルのFlexスプレッドシート</a></li>
<li><a href="http://digitechlog.com/2009/05/07/flexunit-flex-actionscript-application-unit-test-tool-framework.html" title="FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク">FlexUnit: Flex/ActionScript3.0アプリケーションの単体テストを行うためのユニットテスティングフレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/05/01/cairngorm-is-the-lightweight-micro-architecture-for-rich-internet-applications-built-in-flex-air.html" title="Cairngorm: Flex/AIR RIA構築用フレームワーク">Cairngorm: Flex/AIR RIA構築用フレームワーク</a></li>
<li><a href="http://digitechlog.com/2009/01/21/how-to-automatic-user-logout-with-settimeout-in-flex.html" title="Flex中にsetTimeout()関数を利用して規定時間内活動していないと自動的でログアウトとする">Flex中にsetTimeout()関数を利用して規定時間内活動していないと自動的でログアウトとする</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://digitechlog.com/2008/11/23/using-mx-logging-class-to-debug-your-application-in-flex3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

