<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: 4 Building Blocks Of SQR Log Files</title>
	<atom:link href="http://peoplesoftsqr.com/index.php/2009/04/4-building-blocks-of-sqr-log-files/feed/" rel="self" type="application/rss+xml" />
	<link>http://peoplesoftsqr.com/index.php/2009/04/4-building-blocks-of-sqr-log-files/</link>
	<description>When Peoplebooks Is Not Enough</description>
	<lastBuildDate>Mon, 16 Aug 2010 16:52:22 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: administrator</title>
		<link>http://peoplesoftsqr.com/index.php/2009/04/4-building-blocks-of-sqr-log-files/comment-page-1/#comment-311</link>
		<dc:creator>administrator</dc:creator>
		<pubDate>Tue, 28 Apr 2009 04:00:49 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesoftsqr.com/?p=306#comment-311</guid>
		<description>You&#039;re right, that is something different.  It seems interesting, but we could only use it for errors that the programmer detected.  If the SQR interpreter finds an error, it won&#039;t dump a stack for us.  Perhaps some of the third party debuggers would.</description>
		<content:encoded><![CDATA[<p>You&#8217;re right, that is something different.  It seems interesting, but we could only use it for errors that the programmer detected.  If the SQR interpreter finds an error, it won&#8217;t dump a stack for us.  Perhaps some of the third party debuggers would.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Josephson</title>
		<link>http://peoplesoftsqr.com/index.php/2009/04/4-building-blocks-of-sqr-log-files/comment-page-1/#comment-307</link>
		<dc:creator>Bob Josephson</dc:creator>
		<pubDate>Mon, 27 Apr 2009 18:28:25 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesoftsqr.com/?p=306#comment-307</guid>
		<description>I&#039;m not sure we&#039;re talking about the same thing. My idea was that, instead of writing a log command in each function or module, just push the name of the function on a stack (i.e. a growing array). Pop it when you exit the function. Then, when you want to log a fatal error, call a routine that logs all the function names on the stack before logging the error message.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure we&#8217;re talking about the same thing. My idea was that, instead of writing a log command in each function or module, just push the name of the function on a stack (i.e. a growing array). Pop it when you exit the function. Then, when you want to log a fatal error, call a routine that logs all the function names on the stack before logging the error message.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: administrator</title>
		<link>http://peoplesoftsqr.com/index.php/2009/04/4-building-blocks-of-sqr-log-files/comment-page-1/#comment-306</link>
		<dc:creator>administrator</dc:creator>
		<pubDate>Mon, 27 Apr 2009 16:26:32 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesoftsqr.com/?p=306#comment-306</guid>
		<description>Remember, Edward, we could write a program that met the users stated requirements perfectly, but failed when the user (or the database) fell out of conformance.  I had a case where the original user specified that my program should produce a report for a given pay period.  Then, a different user ran the report without entering a pay period.  I learned a lesson about validating user inputs, but I learned it from the log file; the second user didn&#039;t mention that she hadn&#039;t entered a value.</description>
		<content:encoded><![CDATA[<p>Remember, Edward, we could write a program that met the users stated requirements perfectly, but failed when the user (or the database) fell out of conformance.  I had a case where the original user specified that my program should produce a report for a given pay period.  Then, a different user ran the report without entering a pay period.  I learned a lesson about validating user inputs, but I learned it from the log file; the second user didn&#8217;t mention that she hadn&#8217;t entered a value.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: administrator</title>
		<link>http://peoplesoftsqr.com/index.php/2009/04/4-building-blocks-of-sqr-log-files/comment-page-1/#comment-305</link>
		<dc:creator>administrator</dc:creator>
		<pubDate>Mon, 27 Apr 2009 16:21:03 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesoftsqr.com/?p=306#comment-305</guid>
		<description>SQR does have a facility somewhat like severity level.  Any line can begin with &quot;#debug&quot;, and SQR will compile that line if there is a  &quot;-debug&quot; parameter in the SQR command line.  Further, a line can begin with &quot;#debuga&quot; (where &quot;a&quot; is a single letter or digit).  Then the SQR command line can have something like &quot;-debugab12&quot; which will cause SQR to compile any line beginning with #debuga, #debugb, #debug1, or #debug2.

SQR doesn&#039;t have a &quot;fail-only output&quot; function.  However, we could create a file and write to it.  Then, the last thing we would do before the successful end of the program is to close it and delete it.</description>
		<content:encoded><![CDATA[<p>SQR does have a facility somewhat like severity level.  Any line can begin with &#8220;#debug&#8221;, and SQR will compile that line if there is a  &#8220;-debug&#8221; parameter in the SQR command line.  Further, a line can begin with &#8220;#debuga&#8221; (where &#8220;a&#8221; is a single letter or digit).  Then the SQR command line can have something like &#8220;-debugab12&#8243; which will cause SQR to compile any line beginning with #debuga, #debugb, #debug1, or #debug2.</p>
<p>SQR doesn&#8217;t have a &#8220;fail-only output&#8221; function.  However, we could create a file and write to it.  Then, the last thing we would do before the successful end of the program is to close it and delete it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward deShelly</title>
		<link>http://peoplesoftsqr.com/index.php/2009/04/4-building-blocks-of-sqr-log-files/comment-page-1/#comment-304</link>
		<dc:creator>Edward deShelly</dc:creator>
		<pubDate>Mon, 27 Apr 2009 14:00:41 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesoftsqr.com/?p=306#comment-304</guid>
		<description>Bob, once again you&#039;re aiming low and succumbing to lousy programming habits. You&#039;re just resigning yourself to having bugs, and trying to CYA with error messages.

Maybe if you cared more about the quality of your work, you wouldn&#039;t need to log so many errors.</description>
		<content:encoded><![CDATA[<p>Bob, once again you&#8217;re aiming low and succumbing to lousy programming habits. You&#8217;re just resigning yourself to having bugs, and trying to CYA with error messages.</p>
<p>Maybe if you cared more about the quality of your work, you wouldn&#8217;t need to log so many errors.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Josephson</title>
		<link>http://peoplesoftsqr.com/index.php/2009/04/4-building-blocks-of-sqr-log-files/comment-page-1/#comment-303</link>
		<dc:creator>Bob Josephson</dc:creator>
		<pubDate>Mon, 27 Apr 2009 13:58:14 +0000</pubDate>
		<guid isPermaLink="false">http://peoplesoftsqr.com/?p=306#comment-303</guid>
		<description>It&#039;s impossible to make it failsafe, so you might as well make it failsoft.

Is there any way to assign a severity level to a log message and specify at runtime what severity to display? 

An even cooler feature would be where the program pushes each function entry onto a stack and pops it on exit. The stack only gets dumped if a severe message (i.e. an error) gets logged. That way, you have a stack trace for your errors, but you don&#039;t create huge log files when everything is OK. (And even when an error happens, you have a succinct log file.)</description>
		<content:encoded><![CDATA[<p>It&#8217;s impossible to make it failsafe, so you might as well make it failsoft.</p>
<p>Is there any way to assign a severity level to a log message and specify at runtime what severity to display? </p>
<p>An even cooler feature would be where the program pushes each function entry onto a stack and pops it on exit. The stack only gets dumped if a severe message (i.e. an error) gets logged. That way, you have a stack trace for your errors, but you don&#8217;t create huge log files when everything is OK. (And even when an error happens, you have a succinct log file.)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
