nuttx/drivers/syslog
2016-06-22 08:36:50 -06:00
..
Kconfig Extend SYSLOG logic so that we can send SYSLOG output to a file. Not verified on initial commit. 2016-06-21 12:54:47 -06:00
Make.defs Extend SYSLOG logic so that we can send SYSLOG output to a file. Not verified on initial commit. 2016-06-21 12:54:47 -06:00
note_driver.c drivers/syslog/note_driver.c: Add a driver that will allow an application to read buffered scheduler instrumentation data 2016-03-17 14:46:00 -06:00
ramlog.c Remove lowsyslog(). The new syslog() includes all of the functionality of lowsyslog(). No longer any need for two interfaces. 2016-06-20 08:57:08 -06:00
README.txt Remove all traces of CONFIG_SYSLOG 2016-06-19 13:59:43 -06:00
syslog_channel.c SYSLOG: Some rather complex conditional compilation missed a case. 2016-06-21 15:08:09 -06:00
syslog_console.c Remove all traces of CONFIG_SYSLOG 2016-06-19 13:59:43 -06:00
syslog_consolechannel.c Extend SYSLOG logic so that we can send SYSLOG output to a file. Not verified on initial commit. 2016-06-21 12:54:47 -06:00
syslog_devchannel.c SYSLOG character device channel will now expand LF to CR-LF 2016-06-22 08:36:50 -06:00
syslog_device.c syslog_dev_flush() needs to check if the inode is a mountpoint before calling the flush() method. Noted by David Sidrane. 2016-06-22 05:58:33 -06:00
syslog_emergstream.c Break syslog_channel.c up into syslog_channel.c, syslog_putc.c, syslog_force.c and syslog_flush.c to limited what is brought into the link. Separate syslog_emergstream.c from syslog_stream.c. Didn't help in the case I was looking at. 2016-06-20 17:10:52 -06:00
syslog_filechannel.c sched_file_channel(): Comments say that we need to lock the scheduler, but we do not. 2016-06-21 16:39:28 -06:00
syslog_flush.c Break syslog_channel.c up into syslog_channel.c, syslog_putc.c, syslog_force.c and syslog_flush.c to limited what is brought into the link. Separate syslog_emergstream.c from syslog_stream.c. Didn't help in the case I was looking at. 2016-06-20 17:10:52 -06:00
syslog_force.c SYSLOG: Fix a compile problem with assertions enabled. 2016-06-21 07:24:14 -06:00
syslog_initialize.c Eliminate a warning 2016-06-21 16:59:46 -06:00
syslog_intbuffer.c SIM: Comment out skip scheduler debug output that can hang the simulation. 2016-06-21 08:59:01 -06:00
syslog_putc.c Break syslog_channel.c up into syslog_channel.c, syslog_putc.c, syslog_force.c and syslog_flush.c to limited what is brought into the link. Separate syslog_emergstream.c from syslog_stream.c. Didn't help in the case I was looking at. 2016-06-20 17:10:52 -06:00
syslog_stream.c Break syslog_channel.c up into syslog_channel.c, syslog_putc.c, syslog_force.c and syslog_flush.c to limited what is brought into the link. Separate syslog_emergstream.c from syslog_stream.c. Didn't help in the case I was looking at. 2016-06-20 17:10:52 -06:00
syslog.h Extend SYSLOG logic so that we can send SYSLOG output to a file. Not verified on initial commit. 2016-06-21 12:54:47 -06:00
vsyslog.c Remove some last traces of lowvsyslog that were missed; Add a SYSLOG emergency channel for handling assertion output more cleanly 2016-06-20 16:11:50 -06:00

drivers/syslog README File
==========================

This README file discusses the SYLOG drivers that can be found in the
drivers/syslog directory.  The syslogging interfaces are defined in the
header file include/syslog.h.  In NuttX, "syslog output" is really
synonymous to "debug output" and, therefore, the debugging interfaces
defined in the header file include/debug.h are also sysloggin interfaces.

All SYSLOG output gots to syslog_putc.  What syslog_putc does, however,
depends on the configuration.  By default, all system log output will go
to the console device (/dev/console).  But that behavior can be changed
reconfiguring NuttX.

One version of syslog_putc() is defined in fs/fs_syslog.c; that version is
used when CONFIG_SYSLOG_CHAR is defined.  That version of syslog_putc()
just integrates with the file system to re-direct debug output to a
character device or to a file. A disadvantage of using the generic character
device for the SYSLOG is that it cannot handle debug output generated from
interrupt level handles.

If CONFIG_SYSLOG_CHAR is not defined, then other custom SYSLOG drivers
can be used.  These custom SYSLOG drivers can do things like handle
unusual logging media and since they can avoid the general file system
interfaces, can be designed to support debug output from interrupt handlers.

Those custom SYSLOG drivers reside in this directory.

ramlog.c
--------
  The RAM logging driver is a driver that was intended to support debugging
  output (aka, syslogging).  It might be used when the normal serial output
  is not available.  For example, if you are using a Telnet or USB serial
  console, the debug output will get lost since the USB Telnet session does
  not use the serial console.

  The RAM logginc driver is also useful when debug output on the serial
  console would interfere with performance or with usability.  The debug
  output is write to RAM very quickly and so interferes less with realtime
  performance.  And since the output does not appear on the serial console
  until you want it to, it does not interfere with the usability of the
  serial console.  The NuttShell (NSH), for eample, supports a 'dmesg'
  command that can be used to dump the buffered output when you want to
  see it.

  The RAM logging  driver is similar to a pipe in that it saves the
  debugging output in a FIFO in RAM.  It differs from a pipe in numerous
  details as needed to support logging.

  This driver is built when CONFIG_RAMLOG is defined in the Nuttx
  configuration.

  Configuration options:

    CONFIG_RAMLOG - Enables the RAM logging feature
    CONFIG_RAMLOG_CONSOLE - Use the RAM logging device as a system console.
      If this feature is enabled (along with CONFIG_DEV_CONSOLE), then all
      console output will be re-directed to a circular buffer in RAM.  This
      is useful, for example, if the only console is a Telnet console.  Then
      in that case, console output from non-Telnet threads will go to the
      circular buffer and can be viewed using the NSH 'dmesg' command.
    CONFIG_RAMLOG_SYSLOG - Use the RAM logging device for the syslogging
      interface.  If this feature is enabled then all debug output (only)
      will be re-directed to the circular buffer in RAM.  This RAM log can
      be view from NSH using the 'dmesg' command.  NOTE:  Unlike the
      limited, generic character driver SYSLOG device, the RAMLOG *can*
      be used to generate debug output from interrupt level handlers.
    CONFIG_RAMLOG_NPOLLWAITERS - The number of threads than can be waiting
      for this driver on poll().  Default: 4

   If CONFIG_RAMLOG_CONSOLE or CONFIG_RAMLOG_SYSLOG is selected, then the
   following may also be provided:

   CONFIG_RAMLOG_BUFSIZE - Size of the console RAM log.  Default: 1024