[13:12:10] <subj_rs>
http://svn.eu.adacore.com/anonsvn/Dev/trunk/gps/gnatlib/src/syslog/gnatcoll-traces-syslog.adb

  procedure Syslog
    (Facility : Facilities := Kernel;
     Level    : Levels     := Emergency;
     Message  : String)
  is
     --  We go through our own wrapper of syslog, because on some systems
     --  apparently we get a STORAGE_ERROR when interfacing directly to
     --  "syslog".

     procedure Internal (Priority : Integer; Message : String);
     pragma Import (C, Internal, "syslog_wrapper");
     --  Low-level binding
  begin
     Internal (Levels_To_Integer (Level) + Facilities_To_Integer (Facility),
               Message & ASCII.NUL);
  end Syslog;

оч интересно
[13:13:06] <subj_rs> где бы найти ихнюю реализацию syslog_wrapper
[13:26:00] <yeo> вадим разве вчера не присылал
[13:44:18] <vgodunko> subj_rs: см. дщп
[13:44:19] <vgodunko> log
[13:44:20] <Жаба> vgodunko, Logs here: http://subtroj.info/ada-ru@conference.jabber.ru/
[13:45:08] <vgodunko> syslog_wrapper(int priority, const char* msg) {
  syslog(priority, "%s", msg);
}
[13:49:33] <subj_rs> у меня кое чего получилос
вот чо пишет даже в сислог

Apr 11 13:44:41 srv01 Ada[10093]: Client connected from 127.0.0.1:49529
Apr 11 13:44:47 srv01 Ada[10093]: Client connected from 127.0.0.1:49531

вот как сделал:

procedure Syslog (Msg : String) is
        use Interfaces;
        use Interfaces.C;
        use Interfaces.C.Strings;

        procedure C_Openlog (Ident : chars_ptr; Option : int; Facility : int);
        pragma Import (C, C_Openlog, "openlog");

        procedure C_Syslog (Priority : int; Format : String; Msg : String);
        pragma Import (C, C_Syslog, "syslog");

        procedure C_Closelog;
        pragma Import(C, C_Closelog, "closelog");

        Prefix : chars_ptr := New_String ("Ada");
        Format : constant String := "%s" & ASCII.NUL;

     begin
        Gnat.Task_Lock.Lock;
        C_Openlog (Prefix,
                   int (Unsigned_8 (16#08#) or Unsigned_8 (16#01#)), -- LOG_NDELAY | LOG_PID
                   int (Shift_Left (Unsigned_8 (3), 3))); --  (3<<3) LOG_DAEMON
        C_Syslog (6, Format, Msg & ASCII.NUL);           -- LOG_INFO
        C_Closelog;
        Free (Prefix);
        Gnat.Task_Lock.Unlock;
     end Syslog;

правда работает через раз, то гуд то память начинает всю выжирать. причем в gnatcoll последнем именно так и сделанно )
[20:39:45] <vgodunko> subj_rs: в последнем GNATCOLL сделано через обёртку
[20:43:28] <subjrs> я последний и скачал который был, там через стринги )
[20:48:34] <vgodunko> Ну а мы то смотрели действительно последний ;-)