Client specific logging

From SambaWiki
Revision as of 12:40, 5 January 2011 by BBaumbach (talk | contribs)

When diagnosing a problem, Samba developers are likely to request a level 10 log file.

There are different reasons for creating client specific log files:

  • If the error appears only on specific clients and you won't change the config for all clients.
  • If you're running Samba with many clients level 10 logs can fill your disk space very fast and slow down your system.

Create a new config file /etc/samba/smb.conf.client-debug

max log size = 0                  # no log file size limitation
log file = /var/log/samba/log.%I  # specific log file name
log level = 10                    # set the debug level
debug pid = yes                   # add the pid to the log
debug hires timestamp = yes       # add microsecond resolution to timestamp

Add the following line to your smb.conf at the end of the global section

include = /etc/samba/smb.conf.client-%I

To activate level 10 logging for e.g. client create a symbolic link:

ln -s /etc/samba/smb.conf.client-debug /etc/samba/smb.conf.client-

You do not have to restart all of Samba. If the client connects to your samba the smbd includes the /etc/samba/smb.conf.client- config file and writes the debug information to /var/log/samba/log. These changes will have no effect to other clients except For additional clients you can simply create additional symlinks.

For changing the log level temporary you can use smbcontrol runtime.

#Set debug level for all smbd
smbcontrol smbd debug 10

#Set debug level for all process with pid 12345
smbcontrol 12345 debug 10
#Request debug level for process with pid 12345
smbcontrol 12345 debuglevel