Difference between revisions of "System Log"

From The iPhone Wiki
Jump to: navigation, search
m
m (It is not "Terminal.app".)
Line 12: Line 12:
 
cant write to the syslog. Keep an eye on it or employ some log rotation.
 
cant write to the syslog. Keep an eye on it or employ some log rotation.
   
To disable, enter [[Terminal.app]] and run:
+
To disable, enter [[MobileTerminal]] and run:
 
rm /var/log/syslog;
 
rm /var/log/syslog;
 
mknod /var/log/syslog c 3 2
 
mknod /var/log/syslog c 3 2
 
This will delete (<tt>rm</tt>) the file and create a [[:/dev/null]]. (<tt>mknod *** c 3 2</tt>)
 
This will delete (<tt>rm</tt>) the file and create a [[:/dev/null]]. (<tt>mknod *** c 3 2</tt>)
   
To reenable, enter [[Terminal.app]] and run:
+
To reenable, enter [[MobileTerminal]] and run:
 
rm /var/log/syslog
 
rm /var/log/syslog
 
touch /var/log/syslog
 
touch /var/log/syslog
Line 27: Line 27:
   
 
== Reading syslog ==
 
== Reading syslog ==
=== [[Terminal.app]] ===
+
=== [[MobileTerminal]] ===
 
<!-- TODO: Add a description of what socat is
 
<!-- TODO: Add a description of what socat is
 
-->As [[iOS]] is [[wikipedia:Unix|Unix]] based, it comes as no surprise that its syslog can be read using the same tools desktop Unix and [[wikipedia:Linux|Linux]] power users use; provided the tools are compiled for ARM. The most common tool is <code>socat(1)</code><sup>[{{man|socat|1}}]</sup>. If you don't have it yet, just run an <code>apt-get</code> on the package <code>socat</code>. In order to use it, just connect to the syslog socket with the following command:
 
-->As [[iOS]] is [[wikipedia:Unix|Unix]] based, it comes as no surprise that its syslog can be read using the same tools desktop Unix and [[wikipedia:Linux|Linux]] power users use; provided the tools are compiled for ARM. The most common tool is <code>socat(1)</code><sup>[{{man|socat|1}}]</sup>. If you don't have it yet, just run an <code>apt-get</code> on the package <code>socat</code>. In order to use it, just connect to the syslog socket with the following command:

Revision as of 20:43, 12 November 2013

bgm's trick for enabling system log

  1. In the shell, do: echo "*.* /var/log/syslog" > /etc/syslog.conf
  2. Add the following tags to /System/Library/LaunchDaemons/com.apple.syslogd.plist after the tag <string>/usr/sbin/syslogd</string>
<string>-bsd_out</string>
<string>1</string>

This will tell the Daemon Launcher to call /usr/sbin/syslogd -bsd_out 1, and we have configured it to write all messages to /var/log/syslog

  1. "reboot & enjoy your kernel and other messages" (bgm)

Note

The syslog will grow very big quite quickly if you use WinterBoard's debug setting, but the folder /private/var/log is on the data partition (music, etc).
If you keep your device full of music, be careful you don't fill the partition. Unix systems tend to break when they cant write to the syslog. Keep an eye on it or employ some log rotation.

To disable, enter MobileTerminal and run:

rm /var/log/syslog;
mknod /var/log/syslog c 3 2

This will delete (rm) the file and create a /dev/null. (mknod *** c 3 2)

To reenable, enter MobileTerminal and run:

rm /var/log/syslog
touch /var/log/syslog

This will delete (rm) the file and and make a blank regular file. (touch)

SBSettings Toggle

An SBSettings toggle for enabling/disabling syslog is available at BigBoss' Cydia repository. The syslog > /var/log/syslog package from saurik's repo is not a dependency and you must manually install it also.

Reading syslog

MobileTerminal

As iOS is Unix based, it comes as no surprise that its syslog can be read using the same tools desktop Unix and Linux power users use; provided the tools are compiled for ARM. The most common tool is socat(1)[man]. If you don't have it yet, just run an apt-get on the package socat. In order to use it, just connect to the syslog socket with the following command:

socat - UNIX-CONNECT:/var/run/lockdown/syslog.sock

This gives an interactive shell with the syslog daemon (no need to enable file output). If you execute the watch command, the shell will print out new messages as they arrive.

With a Mac through lockdownd

A binary (and its source code) to view ASL messages from Mac using the MobileDevice.framework has been made available on http://newosxbook.com/index.php?page=downloads.

Reference