Difference between revisions of "BugSquad/Get Logs"

From Sugar Labs
Jump to navigation Jump to search
m (BugSquad/GetLogs moved to BugSquad/Get Logs: deCamel casing)
 
(14 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 +
<noinclude>
 +
[[Category:Testing]]
 +
[[Category:BugSquad]]
 +
[[Category:HowTo]]
 +
</noinclude>
 +
 +
 
== What are the logs useful for ==
 
== What are the logs useful for ==
 
If you provide debugging logs to a ticket, you'll be making it much easier to developers to fix the issue. In most of the cases it will be easiest for you to reproduce the bug.
 
If you provide debugging logs to a ticket, you'll be making it much easier to developers to fix the issue. In most of the cases it will be easiest for you to reproduce the bug.
 +
 +
== The Log Activity ==
 +
 +
The [[olpc:Log]] Activity, is a Sugar-based log viewer that is in most distributions to help you view software logs. You can copy text from the view pane into the Sugar clipboard, then from the clipboard keep it into the Journal, and then attach that Journal item into the [http://bugs.sugarlabs.org bugs.sugarlabs.org] or [http://dev.laptop.org dev.laptop.org] [Attach file] > [Browse...] dialogs, or paste relevant pieces directly into the bug description.
 +
 +
You can use the Log Collector to easily export all logs to the journal in a handy zip bundle:
 +
 +
[[Image:Log Collector.png|615px]]
  
 
== Enabling Sugar debug logging ==
 
== Enabling Sugar debug logging ==
In the latest 0.83 development releases (that will lead to 0.84) we created the file text file ~/.sugar/debug which gets read at sugar startup.  
+
A shell script file, {{Code|~/.sugar/debug}}, is run when Sugar starts up.  All environment variables exported by the file will be inherited by the Sugar shell and activity processes.
All the logging options are commented by default. Use your editor of choice and remove the '#' before the line 'export SUGAR_LOGGER_LEVEL=debug' to enable Sugar debug logging.
+
 
 +
From Sugar 0.83 to 0.98, the file is prepared with commented lines. From Sugar 0.102, the file must be created by you. Use your editor to add a line, or remove the '#' before the line, to ensure SUGAR_LOGGER_LEVEL is exported with the value ''debug'', like this:
 +
 
 +
export SUGAR_LOGGER_LEVEL=debug
 +
 
 +
From Sugar 0.83 to 0.98, the prepared file looks like this:
 +
<pre>
 +
# Uncomment the following lines to turn on many sugar debugging
 +
# log files and features
 +
#export LM_DEBUG=net
 +
#export GABBLE_DEBUG=all
 +
#export GABBLE_LOGFILE=$HOME/.sugar/default/logs/telepathy-gabble.log
 +
#export SALUT_DEBUG=all
 +
#export SALUT_LOGFILE=$HOME/.sugar/default/logs/telepathy-salut.log
 +
#export GIBBER_DEBUG=all
 +
#export PRESENCESERVICE_DEBUG=1
 +
#export SUGAR_LOGGER_LEVEL=debug
 +
 
 +
# Uncomment the following line to enable core dumps
 +
#ulimit -c unlimited
 +
</pre>
  
 
=== Where are the logs placed ===
 
=== Where are the logs placed ===
 
* Perform the minimal steps to reproduce the bug.
 
* Perform the minimal steps to reproduce the bug.
* The relevant logs are in '~/.sugar/default/logs', (e.g org.laptop.WebActivity-1.log for the log of the first Browse instance).
+
* The relevant logs are stored in {{Code|~/.sugar/default/logs}}, (e.g, org.laptop.WebActivity-1.log for the log of the first Browse instance).
 +
 
 +
=== Using sugar-launch ===
 +
 
 +
To enable debug logging for one run of one specific activity, use sugar-launch in Terminal, to set the SUGAR_LOGGER_LEVEL environment variable and start the activity by bundle id:
 +
SUGAR_LOGGER_LEVEL=debug sugar-launch org.laptop.Chat
  
 
=== Using the sugar-emulator ===
 
=== Using the sugar-emulator ===
If you are using a version older than the latest development release (0.83) run the emulator with the following command:
+
If you are using a version older than the development release 0.83, run the emulator with the following command:
 
  SUGAR_LOGGER_LEVEL=debug sugar-emulator
 
  SUGAR_LOGGER_LEVEL=debug sugar-emulator
  
 
=== Presence service ===
 
=== Presence service ===
If your bug involves the presence service, you might also want to follow the steps for [[BugSquad/TelepathyDebugging]].
+
If your bug involves the presence service, you might also want to follow the steps for [[BugSquad/Telepathy Debugging]].
  
== On the XO (using Sugar 0.82.x)==
+
== On the XO-1 (using Sugar 0.82.x)==
These are general steps to follow when providing logs for some bug:
+
These are general steps to follow when providing logs for a bug:
  
 
* Start the Terminal activity.
 
* Start the Terminal activity.
Line 26: Line 66:
 
* Reboot, or just restart X using ctrl+alt+erase
 
* Reboot, or just restart X using ctrl+alt+erase
  
The file <tt>~/.xsession-example</tt> contains other settings useful for debugging. You can copy individual lines from this or copy the entire file to <tt>~/.xsession</tt>.
+
The file {{Code|~/.xsession-example}} contains other settings useful for debugging. You can copy individual lines from this or copy the entire file to {{Code|~/.xsession}}.
 +
 
 +
== On other machines (Sugar.84)==
 +
Sugar activities have logs
 +
<code>~/.sugar/default/logs/ </code>
 +
so go to
 +
<code>someuser</code>
 +
type
 +
<code> ls -al</code>
 +
then drill down to
 +
<code> ~/.sugar/default/logs/</code>
 +
for the error messages.  
  
[[category:BugSquad]]
+
Another useful command is:
 +
<code>dmesg</code>
 +
It prints out all of the kernel's messages and warnings for this session, with any new stuff at the end.

Latest revision as of 07:26, 18 September 2014



What are the logs useful for

If you provide debugging logs to a ticket, you'll be making it much easier to developers to fix the issue. In most of the cases it will be easiest for you to reproduce the bug.

The Log Activity

The olpc:Log Activity, is a Sugar-based log viewer that is in most distributions to help you view software logs. You can copy text from the view pane into the Sugar clipboard, then from the clipboard keep it into the Journal, and then attach that Journal item into the bugs.sugarlabs.org or dev.laptop.org [Attach file] > [Browse...] dialogs, or paste relevant pieces directly into the bug description.

You can use the Log Collector to easily export all logs to the journal in a handy zip bundle:

Log Collector.png

Enabling Sugar debug logging

A shell script file, ~/.sugar/debug, is run when Sugar starts up. All environment variables exported by the file will be inherited by the Sugar shell and activity processes.

From Sugar 0.83 to 0.98, the file is prepared with commented lines. From Sugar 0.102, the file must be created by you. Use your editor to add a line, or remove the '#' before the line, to ensure SUGAR_LOGGER_LEVEL is exported with the value debug, like this:

export SUGAR_LOGGER_LEVEL=debug

From Sugar 0.83 to 0.98, the prepared file looks like this:

# Uncomment the following lines to turn on many sugar debugging
# log files and features
#export LM_DEBUG=net
#export GABBLE_DEBUG=all
#export GABBLE_LOGFILE=$HOME/.sugar/default/logs/telepathy-gabble.log
#export SALUT_DEBUG=all
#export SALUT_LOGFILE=$HOME/.sugar/default/logs/telepathy-salut.log
#export GIBBER_DEBUG=all
#export PRESENCESERVICE_DEBUG=1
#export SUGAR_LOGGER_LEVEL=debug

# Uncomment the following line to enable core dumps
#ulimit -c unlimited

Where are the logs placed

  • Perform the minimal steps to reproduce the bug.
  • The relevant logs are stored in ~/.sugar/default/logs, (e.g, org.laptop.WebActivity-1.log for the log of the first Browse instance).

Using sugar-launch

To enable debug logging for one run of one specific activity, use sugar-launch in Terminal, to set the SUGAR_LOGGER_LEVEL environment variable and start the activity by bundle id:

SUGAR_LOGGER_LEVEL=debug sugar-launch org.laptop.Chat

Using the sugar-emulator

If you are using a version older than the development release 0.83, run the emulator with the following command:

SUGAR_LOGGER_LEVEL=debug sugar-emulator

Presence service

If your bug involves the presence service, you might also want to follow the steps for BugSquad/Telepathy Debugging.

On the XO-1 (using Sugar 0.82.x)

These are general steps to follow when providing logs for a bug:

  • Start the Terminal activity.
  • Type the following:
 echo 'export SUGAR_LOGGER_LEVEL=debug' >> /home/olpc/.xsession
  • Reboot, or just restart X using ctrl+alt+erase

The file ~/.xsession-example contains other settings useful for debugging. You can copy individual lines from this or copy the entire file to ~/.xsession.

On other machines (Sugar.84)

Sugar activities have logs

~/.sugar/default/logs/  

so go to

someuser

type

 ls -al 

then drill down to

 ~/.sugar/default/logs/

for the error messages.

Another useful command is:

dmesg 

It prints out all of the kernel's messages and warnings for this session, with any new stuff at the end.