<?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>The Nordhagen &#187; Olog</title>
	<atom:link href="http://www.oyvindnordhagen.com/blog/category/flash/olog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.oyvindnordhagen.com/blog</link>
	<description>Øyvind Nordhagen on ActionScript and other things</description>
	<lastBuildDate>Fri, 20 Jan 2012 13:06:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Olog 1.3.0 brings a slight overhaul</title>
		<link>http://www.oyvindnordhagen.com/blog/2011/02/20/olog-1-3-0-brings-a-slight-overhaul/</link>
		<comments>http://www.oyvindnordhagen.com/blog/2011/02/20/olog-1-3-0-brings-a-slight-overhaul/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 01:19:09 +0000</pubDate>
		<dc:creator>Øyvind</dc:creator>
				<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Olog]]></category>

		<guid isPermaLink="false">http://www.oyvindnordhagen.com/blog/?p=562</guid>
		<description><![CDATA[Just released Olog versjon 1.3.0. Looking forward, I will begin an effort to increase efficiency and compact the file size of Olog. The first part of this process is to extract some of the functionality to classes that can be [...]]]></description>
			<content:encoded><![CDATA[<p>Just released <a href="http://www.oyvindnordhagen.com/blog/olog">Olog versjon 1.3.0</a>. Looking forward, I will begin an effort to increase efficiency and compact the file size of Olog. The first part of this process is to extract some of the functionality to classes that can be injected by you, the user. This lead to the demise of OlogEvent. I must admint I went out on a limb here, becase since I don&#8217;t ever use OlogEvent myself anymore (to pass logging messages to Olog by event), I assumed no-one else does. Holler if this was a mistake, but my impression was that this is a safe move. This however means we also loose OlogEvent listening for getting log messages out, which I do know people are using. For you guys the solution is to write a class that implements ILogTarget and pass it to Olog like so: Olog.activateTargets([MyCustomLogTarget]);</p>
<p>The same change also propagates to a couple of other features, namely enableJavascripConsole and enableRegularTraceOutput. These are now log targets ConsoleTarget and TraceTarget respectively.</p>
<p><strong>Changes to the Utility Panel</strong></p>
<p>The mantra for Olog&#8217;s UI has always been &#8220;pretty enough&#8221;. I felt the buttons in the Utility Panel were a bit dated and claiming a little too much space, making it harder to add stuff. So I replaced them with a simple HTML TextFIeld and in the process I added a &#8220;Clear&#8221; button (suggested by <a href="http://twitter.com/#!/jenschr" target="_blank">@jenschr</a>) and a button for checking if there&#8217;s a more recent version of Olog than the one you already have.</p>
<p><img class="size-full wp-image-567 alignnone" title="Olog's utility panel" src="http://www.oyvindnordhagen.com/blog/wp-content/uploads/2011/02/Skjermbilde-2011-02-20-kl.-23.05.37.png" alt="" width="501" height="111" /></p>
<p><strong>New LocalConnectionTarget</strong></p>
<p>You can now activate a LocalConnection logging target for log message forwarding.</p>
<p><strong>1UP if you&#8217;re on Windows</strong></p>
<p><a href="http://twitter.com/#!/fruitnoob" target="_blank">@fruitnoob</a> made me aware that the logging font in Olog looked a little choppy on PCs. I&#8217;m not adding an embedded font (and 25k) to the package to change that and &#8220;_typewriter&#8221; is the only monospaced device font in the Flash Player, so Olog will now use one point size larger if it detects that it is running on Windows.</p>
<p>Full list:</p>
<div id="_mcePaste"><strong>Features:</strong></div>
<div id="_mcePaste">
<ul>
<li>Added LocalConnectionTarget to logging targets</li>
<li>Added support for custom log targets. These can be activated by Olog.activateTargets().</li>
<li>Simplified utility panel</li>
<li>Added check for updates to utility panel</li>
<li>Added clear to utility panel to clear all text from log window</li>
<li>Added data type comparison to assert()</li>
<li>Added support for getters and setters in Olog.describe()</li>
<li>Added warning for key binding overrides</li>
</ul>
</div>
<div id="_mcePaste"><strong>Fixes:</strong></div>
<div id="_mcePaste">
<ul>
<li>Fixed return boolean on assert</li>
<li>Fixed breakPoint args. Primitive values are appended to the single line log message, one object is displayed with full description and one object followed by all string args will display a description filtered against the property names passed after the first argument.</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.oyvindnordhagen.com/blog/2011/02/20/olog-1-3-0-brings-a-slight-overhaul/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Olog 1.2.2</title>
		<link>http://www.oyvindnordhagen.com/blog/2010/09/23/olog-1-2-2/</link>
		<comments>http://www.oyvindnordhagen.com/blog/2010/09/23/olog-1-2-2/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 07:00:23 +0000</pubDate>
		<dc:creator>Øyvind</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Freebies]]></category>
		<category><![CDATA[Olog]]></category>
		<category><![CDATA[Problems & Solutions]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[logger]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[trace]]></category>

		<guid isPermaLink="false">http://www.oyvindnordhagen.com/blog/?p=435</guid>
		<description><![CDATA[I just committed version 1.2.2 of Olog to the Google Code repository. Updated docs are also in the trunk, but I have yet to update the online docs. New in version 1.2.2 If you didn&#8217;t catch the 1.2 update, you [...]]]></description>
			<content:encoded><![CDATA[<p>I just committed version 1.2.2 of <a href="http://code.google.com/p/olog/" target="_blank">Olog</a> to the Google Code repository. Updated docs are also in the trunk, but I have yet to update <a href="http://www.oyvindnordhagen.com/olog/docs" target="_blank">the online docs</a>.</p>
<h3>New in version 1.2.2</h3>
<p>If you didn&#8217;t catch the 1.2 update, you will not have discovered the new shorthand function which makes logging/tracing even simpler. Instead of trace, write otrace (works with the same arguments as the Olog.trace() method). Also check out the <a href="http://www.oyvindnordhagen.com/blog/2010/09/08/olog-1-2-is-released/">original blog post about version 1.2</a> for more about this goodie release.</p>
<h3>Olog.traceDisplayList()</h3>
<p>Version 1.2.2 introduces a safe and fast display list crawler, accessed via the function Olog.traceDisplayList(root, maxDepth, property). This is extremely handy if you need to debug UI issues. It will present a tree representation of the display list from the specified root object. Like so:</p>
<p><img class="alignnone size-full wp-image-436" title="Olog display list crawler" src="http://www.oyvindnordhagen.com/blog/wp-content/uploads/2010/09/Skjermbilde-2010-09-23-kl.-08.47.02.png" alt="Olog display list crawler" width="565" height="323" /></p>
<p>You can simply call it without arguments. In which case it will use Olog&#8217;s own stage as the root object and a maximum traverse depth of 10 levels down. Supply the root argument with another DisplayObjectContainer, to start from there instead. Altering the maxDepth argument lets you control the tradeoff between level of instrospection and speed. Of course, on a huge display list, a maxDepth of 200 might result in a script timeout/crash, but I trust you to decide what&#8217;s safe.</p>
<p>In addition, you can specify the string name of a property to include for each child. If the child has this property, it will be appended with its value after the class name in the resulting tree. For instance, specify &#8220;alpha&#8221; and you will see the value of the alpha property on all children like so: MyView.alpha = 1.</p>
<h3>Automatic handling of uncaught exeptions</h3>
<p>Flash player 10.1 (SDK 4.1) introduced a way to handle uncaught exeptions globally in a movie. Olog compiles safely with SDK 3.5 (the SWC is compiled with 3.5), but takes advantage of this feature if it is accessible.</p>
<h3>Olog.addKeyBinding()</h3>
<p>This neat little trick lets you bind a sequence of characters to the call of a function. Watch:</p>
<pre lang="actionscript">Olog.addKeyBinding( "list" , _traceDisplayList );
private function _traceDisplayList ():void
{
	Olog.traceDisplayList( this );
}</pre>
<p>If you then, while the movie is running type the word &#8220;list&#8221;, Olog will call the function _traceDisplayList.</p>
<p>These two additions I&#8217;ve wanted to add for a long time and I finally got around to it. Having these tools at my disposal has made many a debug session considerably shorter.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oyvindnordhagen.com/blog/2010/09/23/olog-1-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Olog 1.2 is released</title>
		<link>http://www.oyvindnordhagen.com/blog/2010/09/08/olog-1-2-is-released/</link>
		<comments>http://www.oyvindnordhagen.com/blog/2010/09/08/olog-1-2-is-released/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 09:24:42 +0000</pubDate>
		<dc:creator>Øyvind</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Olog]]></category>

		<guid isPermaLink="false">http://www.oyvindnordhagen.com/blog/?p=424</guid>
		<description><![CDATA[Since the last update, I&#8217;ve slowed down on the public updates and let each change sink in an mature a bit to make sure it works as expected. That explains the jump from version 1.1 to version 1.2. Download/checkout here. [...]]]></description>
			<content:encoded><![CDATA[<p>Since the last update, I&#8217;ve slowed down on the public updates and let each change sink in an mature a bit to make sure it works as expected. That explains the jump from version 1.1 to version 1.2. <a href="http://code.google.com/p/olog/" target="_blank">Download/checkout here.</a></p>
<h4>New in version 1.2:</h4>
<div id="_mcePaste"><strong>Features:</strong></div>
<div><strong></p>
<div>
<ul>
<li><span style="font-weight: normal;">Added shorthand function otrace()</span></li>
<li><span style="font-weight: normal;">Added utility function breakPoint() for logging virtual break points</span></li>
<li><span style="font-weight: normal;">Added utility function nullFunction for use in yet to be assigned callback situations</span></li>
<li><span style="font-weight: normal;">Added utility fucntion getCallee() for returning the string of a point in the call stack</span></li>
<li><span style="font-weight: normal;">Added utility function noMethodBodyWarning() for indicating an empty method and its position</span></li>
<li><span style="font-weight: normal;">Log messages from Olog itself now have a proper origin</span></li>
<li><span style="font-weight: normal;">More thorough introspection when using describe method. More properties found.</span></li>
<li><span style="font-weight: normal;">Added automatic regular trace output via property enableRegularTraceOutput</span></li>
<li><span style="font-weight: normal;">Added memory usage display in title bar</span></li>
<li><span style="font-weight: normal;">Update check is off by default</span></li>
<li><span style="font-weight: normal;">Describe robustness</span></li>
<li><span style="font-weight: normal;">More info when tracing runtime info</span></li>
<li><span style="font-weight: normal;">Added line wrapping preference</span></li>
</ul>
</div>
<div><span style="font-weight: normal;"><strong>Fixes:</strong></span></div>
<div>
<ul>
<li><span style="font-weight: normal;">Resolved issue where prefs pane would stay open after minimizing</span></li>
<li><span style="font-weight: normal;">Resolved issue with filtering on log level</span></li>
<li><span style="font-weight: normal;">General stability fixes</span></li>
<li><span style="font-weight: normal;">More compressed log statements with IOErrorEvents</span></li>
<li><span style="font-weight: normal;">Resolved text coloring and object name bug with describe</span></li>
</ul>
</div>
<p></strong></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.oyvindnordhagen.com/blog/2010/09/08/olog-1-2-is-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Olog &#8211; finally.</title>
		<link>http://www.oyvindnordhagen.com/blog/2010/03/08/olog-finally/</link>
		<comments>http://www.oyvindnordhagen.com/blog/2010/03/08/olog-finally/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 05:20:47 +0000</pubDate>
		<dc:creator>Øyvind</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[AILogger]]></category>
		<category><![CDATA[Olog]]></category>

		<guid isPermaLink="false">http://www.oyvindnordhagen.com/blog/?p=324</guid>
		<description><![CDATA[Olog (formerly, AILogger formerly OKtrace, formerly text field on stage..) is a logging utility I have been using since the early days. The previous version, AILogger has been the most feature rich to date. But over the years a need [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-293" title="OlogWindow" src="http://www.oyvindnordhagen.com/blog/wp-content/uploads/2010/03/OlogWindow.png" alt="" width="570" height="319" /></p>
<p>Olog (formerly, AILogger formerly OKtrace, formerly text field on stage..) is a logging utility I have been using since the early days. The previous version, AILogger has been the most feature rich to date. But over the years a need to rewrite the whole thing has been growing more and more urgent. It actually started life as an AS1 text field on stage, and was then made into an AS2 class which was then refactored for AS3. But after a while it became evident that it had been patched up too many times to do new things and was in desperate need of some overhaulin&#8217;.</p>
<p>It&#8217;s about time it took its name from its father as well, so I&#8217;m abandoning the scheme of naming it after my employer. (OKTrace = Okular, AILogger = Allegro Interaktiv). It has always been my pet project, so I&#8217;m taking it with me everywhere I go from now on. I also wanted a short name, seeing as I&#8217;ll be typing it a lot, so Olog it is (the &#8220;O&#8221; from Oyvind).</p>
<p>So this time it&#8217;ll be different, I promise! Olog 0.9 is actually AILogger 1.2 and then some in terms of features, but the first step in making it was &#8220;File &gt; New&#8221;. It&#8217;s completely rewritten, and no copy-paste this time. It has been tagging along during my latest project and so it has seen plenty of action already. I&#8217;ve tested it quite thoroughly, but it&#8217;s hard to say what happens when you try to live on your own for the first time. That&#8217;s why I have humbly versioned it 0.9b for now.</p>
<h2>New features</h2>
<p>Here are some new things you might like:</p>
<ul>
<li>Full featured window interface. Minimize/maximize/close buttons, double click on title bar to minimize. Moveable and resizable.</li>
<li>Selective line numbers, time-since-movie start and clock time for each line. These can all be turned of or off during run time.</li>
<li>Filtering of log levels. Pressing number keys 0-5 filters the log to show only those severity levels (color). Esc to escape.</li>
<li>Automatic update check. Olog will check for a new version once a week if you let it and notify you if there&#8217;s a newer version.</li>
<li>Save log to text/XML.</li>
<li>Persistent window state. Position, size, minimized/maximized state is remembered so you don&#8217;t have to keep moving it out of the way each time you compile.</li>
<li>Run time markers. Set a new named point-in-time marker, which you can later complete to display load/execution times.</li>
<li>Support for AILoggerEvents, but Olog has it&#8217;s own OlogEvent as well for loosely coupled logging.</li>
<li>Stacking of repeated messages.</li>
<li>Full ASDoc documentation.</li>
</ul>
<p><a href="http://www.oyvindnordhagen.com/blog/olog/">The olog page on my blog</a> has all the links you need, <a href="http://olog.googlecode.com/files/Olog0.9b.zip">direct ZIP download</a>, <a href="http://olog.googlecode.com/svn/trunk/">SVN repo access</a>, <a href="http://www.oyvindnordhagen.com/olog/docs/">asdoc documentation</a>, <a href="http://code.google.com/p/olog/">Google Code homepage</a> and even a <a href="http://www.oyvindnordhagen.com/blog/olog/">simple demo</a>. I&#8217;ll love to hear it if you have feedback!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oyvindnordhagen.com/blog/2010/03/08/olog-finally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

