<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sugarlabs.org/index.php?action=history&amp;feed=atom&amp;title=Development_Team%2FAlmanac%2FPython_Standard_Logging</id>
	<title>Development Team/Almanac/Python Standard Logging - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sugarlabs.org/index.php?action=history&amp;feed=atom&amp;title=Development_Team%2FAlmanac%2FPython_Standard_Logging"/>
	<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;action=history"/>
	<updated>2026-05-13T06:07:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=51373&amp;oldid=prev</id>
		<title>Johannesponader: _logger.setLevel(logging.DEBUG)</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=51373&amp;oldid=prev"/>
		<updated>2010-04-23T00:46:13Z</updated>

		<summary type="html">&lt;p&gt;_logger.setLevel(logging.DEBUG)&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:46, 22 April 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot;&gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     import logging&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     import logging&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     _logger = logging.getLogger(&amp;#039;annotate-activity&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     _logger = logging.getLogger(&amp;#039;annotate-activity&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    _logger.setLevel(logging.DEBUG)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     ...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     ...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          _logger.debug(&amp;#039;starting activity&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          _logger.debug(&amp;#039;starting activity&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l24&quot;&gt;Line 24:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import logging.config&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;import logging.config&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;_logger = logging.getLogger(&amp;#039;activity-annotate&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;_logger = logging.getLogger(&amp;#039;activity-annotate&amp;#039;)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;_logger.setLevel(logging.DEBUG)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;...&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;...&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     #### Method: __init__, initialize this AnnotateActivity instance&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     #### Method: __init__, initialize this AnnotateActivity instance&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Johannesponader</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=46677&amp;oldid=prev</id>
		<title>Patrol: moved Walter is a wanker 12/Almanac/Python Standard Logging to Development Team/Almanac/Python Standard Logging over redirect: revert</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=46677&amp;oldid=prev"/>
		<updated>2010-02-24T01:32:56Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/index.php?title=Walter_is_a_wanker_12/Almanac/Python_Standard_Logging&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Walter is a wanker 12/Almanac/Python Standard Logging (page does not exist)&quot;&gt;Walter is a wanker 12/Almanac/Python Standard Logging&lt;/a&gt; to &lt;a href=&quot;/go/Development_Team/Almanac/Python_Standard_Logging&quot; title=&quot;Development Team/Almanac/Python Standard Logging&quot;&gt;Development Team/Almanac/Python Standard Logging&lt;/a&gt; over redirect: revert&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:32, 23 February 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Patrol</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=46485&amp;oldid=prev</id>
		<title>Page move vandal: moved Development Team/Almanac/Python Standard Logging to Walter is a wanker 12/Almanac/Python Standard Logging:&amp;#32;Walter is a wanker</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=46485&amp;oldid=prev"/>
		<updated>2010-02-24T00:21:12Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/go/Development_Team/Almanac/Python_Standard_Logging&quot; title=&quot;Development Team/Almanac/Python Standard Logging&quot;&gt;Development Team/Almanac/Python Standard Logging&lt;/a&gt; to &lt;a href=&quot;/index.php?title=Walter_is_a_wanker_12/Almanac/Python_Standard_Logging&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Walter is a wanker 12/Almanac/Python Standard Logging (page does not exist)&quot;&gt;Walter is a wanker 12/Almanac/Python Standard Logging&lt;/a&gt;: Walter is a wanker&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:21, 23 February 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Page move vandal</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=45537&amp;oldid=prev</id>
		<title>Patrol: moved Anal bleaching 15/Almanac/Python Standard Logging to Development Team/Almanac/Python Standard Logging over redirect: revert</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=45537&amp;oldid=prev"/>
		<updated>2010-02-21T22:41:50Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/index.php?title=Anal_bleaching_15/Almanac/Python_Standard_Logging&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Anal bleaching 15/Almanac/Python Standard Logging (page does not exist)&quot;&gt;Anal bleaching 15/Almanac/Python Standard Logging&lt;/a&gt; to &lt;a href=&quot;/go/Development_Team/Almanac/Python_Standard_Logging&quot; title=&quot;Development Team/Almanac/Python Standard Logging&quot;&gt;Development Team/Almanac/Python Standard Logging&lt;/a&gt; over redirect: revert&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:41, 21 February 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Patrol</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=45026&amp;oldid=prev</id>
		<title>Anal bleaching: moved Development Team/Almanac/Python Standard Logging to Anal bleaching 15/Almanac/Python Standard Logging:&amp;#32;Anal bleaching</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=45026&amp;oldid=prev"/>
		<updated>2010-02-21T22:22:22Z</updated>

		<summary type="html">&lt;p&gt;moved &lt;a href=&quot;/go/Development_Team/Almanac/Python_Standard_Logging&quot; title=&quot;Development Team/Almanac/Python Standard Logging&quot;&gt;Development Team/Almanac/Python Standard Logging&lt;/a&gt; to &lt;a href=&quot;/index.php?title=Anal_bleaching_15/Almanac/Python_Standard_Logging&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Anal bleaching 15/Almanac/Python Standard Logging (page does not exist)&quot;&gt;Anal bleaching 15/Almanac/Python Standard Logging&lt;/a&gt;: Anal bleaching&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:22, 21 February 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Anal bleaching</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=22297&amp;oldid=prev</id>
		<title>FGrose: DevelopmentTeam/Almanac/Python Standard Logging moved to Development Team/Almanac/Python Standard Logging: deCamel casing</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=22297&amp;oldid=prev"/>
		<updated>2009-03-17T20:44:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=DevelopmentTeam/Almanac/Python_Standard_Logging&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;DevelopmentTeam/Almanac/Python Standard Logging (page does not exist)&quot;&gt;DevelopmentTeam/Almanac/Python Standard Logging&lt;/a&gt; moved to &lt;a href=&quot;/go/Development_Team/Almanac/Python_Standard_Logging&quot; title=&quot;Development Team/Almanac/Python Standard Logging&quot;&gt;Development Team/Almanac/Python Standard Logging&lt;/a&gt;: deCamel casing&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:44, 17 March 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>FGrose</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=18774&amp;oldid=prev</id>
		<title>Dfarning-bot: Robot: Automated text replacement  (-{{Sugar Almanac}} +{{Almanac}})</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=18774&amp;oldid=prev"/>
		<updated>2009-02-06T18:57:17Z</updated>

		<summary type="html">&lt;p&gt;Robot: Automated text replacement  (-{{Sugar Almanac}} +{{Almanac}})&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:57, 6 February 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sugar &lt;/del&gt;Almanac}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Almanac}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== What is the overall structure of python standard logging that I will use in Sugar? ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== What is the overall structure of python standard logging that I will use in Sugar? ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dfarning-bot</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=18752&amp;oldid=prev</id>
		<title>Dfarning-bot: Python Standard Logging in Sugar moved to DevelopmentTeam/Almanac/Python Standard Logging: Robot: moved page</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=18752&amp;oldid=prev"/>
		<updated>2009-02-06T16:45:18Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/index.php?title=Python_Standard_Logging_in_Sugar&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Python Standard Logging in Sugar (page does not exist)&quot;&gt;Python Standard Logging in Sugar&lt;/a&gt; moved to &lt;a href=&quot;/index.php?title=DevelopmentTeam/Almanac/Python_Standard_Logging&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;DevelopmentTeam/Almanac/Python Standard Logging (page does not exist)&quot;&gt;DevelopmentTeam/Almanac/Python Standard Logging&lt;/a&gt;: Robot: moved page&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:45, 6 February 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Dfarning-bot</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=18646&amp;oldid=prev</id>
		<title>Dfarning: 15 revisions</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=18646&amp;oldid=prev"/>
		<updated>2009-02-06T16:03:07Z</updated>

		<summary type="html">&lt;p&gt;15 revisions&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 12:03, 6 February 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Dfarning</name></author>
	</entry>
	<entry>
		<id>https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=18645&amp;oldid=prev</id>
		<title>146.115.56.126 at 03:20, 2 October 2008</title>
		<link rel="alternate" type="text/html" href="https://wiki.sugarlabs.org/index.php?title=Development_Team/Almanac/Python_Standard_Logging&amp;diff=18645&amp;oldid=prev"/>
		<updated>2008-10-02T03:20:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Sugar Almanac}}&lt;br /&gt;
&lt;br /&gt;
=== What is the overall structure of python standard logging that I will use in Sugar? ===&lt;br /&gt;
&lt;br /&gt;
Sugar uses Python&amp;#039;s Standard Logging&amp;lt;ref&amp;gt;[http://www.onlamp.com/pub/a/python/2005/06/02/logging.html OnLamp.com-- Python Standard Logging]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Python Library Reference -- [http://docs.python.org/lib/module-logging.html Logging]&amp;lt;/ref&amp;gt; pretty much without modification. The diagram below conceptualizes how logging generally works. &lt;br /&gt;
&lt;br /&gt;
[[Image: Logging-Sugar-Almanac.jpg | Logging Diagram for Python]]&lt;br /&gt;
&lt;br /&gt;
=== How do I write to a log in my activity code? ===&lt;br /&gt;
Sugar uses [http://www.onlamp.com/pub/a/python/2005/06/02/logging.html python&amp;#039;s standard logging]. The following code shows how to output something at the debug log level. The log message will be written to the standard log output destination (usually the console). &lt;br /&gt;
&lt;br /&gt;
    import logging&lt;br /&gt;
    _logger = logging.getLogger(&amp;#039;annotate-activity&amp;#039;)&lt;br /&gt;
    ...&lt;br /&gt;
         _logger.debug(&amp;#039;starting activity&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
=== How do I send my log output to multiple destinations, including a file and the console? ===&lt;br /&gt;
&lt;br /&gt;
The code example below sets up the activity to output its logs to several destinations. In particular, we output to a file called &amp;#039;Annotate.activity.log&amp;#039; in sugar&amp;#039;s standard logging directory and to the console. There are many [http://docs.python.org/lib/node409.html different types of handler objects] that you can output to at the same time, depending upon your debugging and tracking needs. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from sugar import logger&lt;br /&gt;
import logging&lt;br /&gt;
import logging.config&lt;br /&gt;
_logger = logging.getLogger(&amp;#039;activity-annotate&amp;#039;)&lt;br /&gt;
...&lt;br /&gt;
    #### Method: __init__, initialize this AnnotateActivity instance&lt;br /&gt;
    def __init__(self, handle):&lt;br /&gt;
        activity.Activity.__init__(self, handle)&lt;br /&gt;
&lt;br /&gt;
        #Get the standard logging directory. &lt;br /&gt;
        std_log_dir = logger.get_logs_dir()&lt;br /&gt;
&lt;br /&gt;
        #First log handler: outputs to a file called &amp;#039;Annotate.activity.log&amp;#039;&lt;br /&gt;
        file_handler = logging.FileHandler(os.path.join(std_log_dir, &amp;#039;Annotate.activity.log&amp;#039;))&lt;br /&gt;
        file_formatter = logging.Formatter(&amp;#039;%(name)s -- %(asctime)s %(levelname)s:\n %(message)s\n&amp;#039;)&lt;br /&gt;
        file_handler.setFormatter(file_formatter)&lt;br /&gt;
        _logger.addHandler(file_handler)&lt;br /&gt;
&lt;br /&gt;
        #Second log handler: outputs to a the console, using a slightly different output structure&lt;br /&gt;
        console_handler = logging.StreamHandler()&lt;br /&gt;
        console_formatter = logging.Formatter(&amp;#039;%(name)s %(levelname)s ||| %(message)s&amp;#039;)&lt;br /&gt;
        console_handler.setFormatter(console_formatter)&lt;br /&gt;
        _logger.addHandler(console_handler)&lt;br /&gt;
        ...&lt;br /&gt;
        _logger.debug(&amp;#039;Creating annotate activity UI&amp;#039;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How do I read the log output that I have generated in my activity code? ===&lt;br /&gt;
&lt;br /&gt;
How you read your log output depends of course on how and where you wrote your log output using Python&amp;#039;s standard logging tools. Typically, you will want your logs to go to the console or to the standard logging directory. &lt;br /&gt;
&lt;br /&gt;
If your log is being output to the console, the best thing to do is to launch your activity from the terminal using the &amp;#039;sugar-launch &amp;lt;activity-name&amp;gt;&amp;#039; command. Then, all console output will be printed to the terminal. The main drawback of this method is that, since a lot of code directs log output to the console, you will have to sift through a lot of output. For example, the output below is some initial console output (including log output) from running an activity. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[fanwar@localhost ~]$ sugar-launch annotate&lt;br /&gt;
[u&amp;#039;sugar-activity&amp;#039;, u&amp;#039;annotateactivity.AnnotateActivity&amp;#039;, &amp;#039;-b&amp;#039;, dbus.String(u&amp;#039;org.laptop.AnnotateActivity&amp;#039;, variant_level=1), &amp;#039;-a&amp;#039;, &amp;#039;b10b76394c10bd511dec1f9d5ac20af5d82a27aa&amp;#039;]&lt;br /&gt;
1215605658.958459 WARNING root: Activity directory lacks a MANIFEST file.&lt;br /&gt;
1215605659.144058 DEBUG root: *** Act b10b76394c10bd511dec1f9d5ac20af5d82a27aa, mesh instance None, scope private&lt;br /&gt;
1215605659.144233 DEBUG root: Creating a jobject.&lt;br /&gt;
1215605659.145405 DEBUG root: datastore.write&lt;br /&gt;
1215605659.153947 DEBUG root: dbus_helpers.create: 8681691c-1859-4507-85f8-33b3836a446f&lt;br /&gt;
1215605659.154164 DEBUG root: Written object 8681691c-1859-4507-85f8-33b3836a446f to the datastore.&lt;br /&gt;
activity-annotate DEBUG ||| Creating annotate activity UI&lt;br /&gt;
1215605659.154495 DEBUG activity-annotate: Creating annotate activity UI&lt;br /&gt;
activity-annotate INFO ||| In _createToolBox method&lt;br /&gt;
1215605659.154779 INFO activity-annotate: In _createToolBox method&lt;br /&gt;
1215605659.211541 WARNING root: No gtk.AccelGroup in the top level window.&lt;br /&gt;
1215605659.214685 WARNING root: No gtk.AccelGroup in the top level window.&lt;br /&gt;
activity-annotate DEBUG ||| execing _createCanvas&lt;br /&gt;
1215605659.222814 DEBUG activity-annotate: execing _createCanvas&lt;br /&gt;
activity-annotate DEBUG ||| finished creating UI&lt;br /&gt;
1215605659.244071 DEBUG activity-annotate: finished creating UI&lt;br /&gt;
1215605659.315145 DEBUG root: ActivityService.set_active: 1.&lt;br /&gt;
** (sugar-activity:5646): DEBUG: Got client ID &amp;quot;10dc3d8b3e662f5a22121560565936684800000051360010&amp;quot;&lt;br /&gt;
** (sugar-activity:5646): DEBUG: Setting initial properties&lt;br /&gt;
** (sugar-activity:5646): DEBUG: Received SaveYourself(SmSaveLocal, !Shutdown, SmInteractStyleNone, !Fast) in state idle&lt;br /&gt;
** (sugar-activity:5646): DEBUG: Sending SaveYourselfDone(True) for initial SaveYourself&lt;br /&gt;
** (sugar-activity:5646): DEBUG: Received SaveComplete message in state save-yourself-done&lt;br /&gt;
1215605661.104732 DEBUG root: Activity.save: dbus.String(u&amp;#039;8681691c-1859-4507-85f8-33b3836a446f&amp;#039;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case, I was primarily interested in the lines starting with activity-annotate. &lt;br /&gt;
&lt;br /&gt;
You may want to output to a designated logfile where you can control exactly what is output (so that extraneous sugar log output is not interspersed with your activity output). The entry on [[Python_Standard_Logging_in_Sugar#How_do_I_send_my_log_output_to_multiple_destinations.2C_including_a_file_and_the_console.3F | writing to multiple files]] explains how to accomplish output to a logfile. If you write to a logfile in the standard sugar log directory, you can look at your log by opening up the log activity. In the terminal, the command &amp;#039;sugar-launch log&amp;#039; will accomplish this. Below is a screenshot of the log activity as I look at the specific log for my Annotate activity. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:log-activity-almanac.jpeg|Looking at log output]]&lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>146.115.56.126</name></author>
	</entry>
</feed>