From 491dd27ebf48c47de5e260ed3e065b1bc52bcbc9 Mon Sep 17 00:00:00 2001 From: Tomasz Sowa Date: Wed, 21 Nov 2018 22:53:24 +0000 Subject: [PATCH] some work in the new api: - log_level and save_each_line moved from Log to FileLog - other fixes in loggers - DirContainer from Dirs and LoadAvg had no dependencies set git-svn-id: svn://ttmath.org/publicrep/winix/branches/0.7.x@1148 e52654a7-88a9-db11-a3e9-0013d4bc506e --- winixd/Makefile.dep | 2 +- winixd/core/app.cpp | 22 +++++++++------ winixd/core/app.h | 9 +++--- winixd/core/config.cpp | 8 +++++- winixd/core/config.h | 3 ++ winixd/core/dirs.cpp | 7 +++++ winixd/core/dirs.h | 2 ++ winixd/core/filelog.cpp | 19 +++++++++++-- winixd/core/filelog.h | 11 +++++++- winixd/core/loadavg.h | 2 +- winixd/core/log.cpp | 50 ++++++++++++++-------------------- winixd/core/log.h | 14 ++++------ winixd/core/plugin.cpp | 2 +- winixd/core/system.cpp | 24 ++++++++++------ winixd/core/winixbase.cpp | 2 +- winixd/core/winixmodel.cpp | 1 + winixd/main/main.cpp | 15 +++------- winixd/templates/templates.cpp | 4 +-- 18 files changed, 116 insertions(+), 81 deletions(-) diff --git a/winixd/Makefile.dep b/winixd/Makefile.dep index d368be0..b8912dd 100644 --- a/winixd/Makefile.dep +++ b/winixd/Makefile.dep @@ -1 +1 @@ -winix.src.files = ./core/synchro.h ./core/sessioncontainer.h ./core/cookieparser.h ./core/misc.cpp ./core/item.cpp ./core/error.h ./core/timezone.h ./core/compress.h ./core/crypt.cpp ./core/dirs.cpp ./core/slog.cpp ./core/config.cpp ./core/lastcontainer.cpp ./core/users.h ./core/httpsimpleparser.cpp ./core/threadmanager.h ./core/postparser.h ./core/pluginmsg.h ./core/acceptbaseparser.h ./core/loadavg.cpp ./core/job.h ./core/mountparser.cpp ./core/timezones.h ./core/sessionmanager.h ./core/groups.h ./core/system.cpp ./core/rebus.h ./core/synchro.cpp ./core/lock.cpp ./core/acceptencodingparser.h ./core/version.h ./core/compress.cpp ./core/ipbancontainer.cpp ./core/request.h ./core/plugindata.h ./core/plugin.cpp ./core/sessionparser.cpp ./core/bbcodeparser.h ./core/users.cpp ./core/mount.cpp ./core/item.h ./core/slog.h ./core/threadmanager.cpp ./core/acceptbaseparser.cpp ./core/lastcontainer.h ./core/httpsimpleparser.h ./core/timezones.cpp ./core/groups.cpp ./core/requesttypes.h ./core/system.h ./core/bbcodeparser.cpp ./core/lock.h ./core/ipbancontainer.h ./core/group.h ./core/plugin.h ./core/run.cpp ./core/textstream.h ./core/sessionparser.h ./core/basethread.h ./core/mount.h ./core/htmlfilter.cpp ./core/user.cpp ./core/app.cpp ./core/image.cpp ./core/ugcontainer.h ./core/postmultiparser.h ./core/logmanipulators.h ./core/sessioncontainer.cpp ./core/dircontainer.h ./core/log.h ./core/session.h ./core/timezone.cpp ./core/mounts.h ./core/ipban.h ./core/cur.h ./core/misc.h ./core/dirs.h ./core/crypt.h ./core/run.h ./core/config.h ./core/job.cpp ./core/postmultiparser.cpp ./core/sessionmanager.cpp ./core/htmlfilter.h ./core/rebus.cpp ./core/dircontainer.cpp ./core/log.cpp ./core/user.h ./core/loadavg.h ./core/session.cpp ./core/mountparser.h ./core/mounts.cpp ./core/image.h ./core/plugindata.cpp ./core/request.cpp ./core/app.h ./core/basethread.cpp ./core/sessionidmanager.h ./core/winix_const.h ./core/sessionidmanager.cpp ./core/winixbase.h ./core/winixmodel.h ./core/filelog.h ./core/filelog.cpp ./core/winixbase.cpp ./core/winixmodel.cpp ./core/winixsystem.h ./core/winixsystem.cpp ./core/winixrequest.h ./core/winixrequest.cpp ./db/dbconn.cpp ./db/db.cpp ./db/dbbase.h ./db/dbitemcolumns.cpp ./db/dbtextstream.cpp ./db/dbconn.h ./db/db.h ./db/dbitemcolumns.h ./db/dbitemquery.cpp ./db/dbtextstream.h ./db/dbitemquery.h ./db/dbbase.cpp ./functions/upload.cpp ./functions/priv.h ./functions/env.cpp ./functions/default.h ./functions/node.h ./functions/specialdefault.h ./functions/timezone.cpp ./functions/pw.h ./functions/adduser.h ./functions/chmod.h ./functions/imgcrop.cpp ./functions/vim.h ./functions/account.h ./functions/mount.cpp ./functions/uptime.cpp ./functions/ckeditor.cpp ./functions/mkdir.cpp ./functions/reload.cpp ./functions/functionparser.h ./functions/logout.cpp ./functions/rmuser.cpp ./functions/rm.cpp ./functions/chown.h ./functions/nicedit.h ./functions/mv.h ./functions/node.cpp ./functions/specialdefault.cpp ./functions/adduser.cpp ./functions/upload.h ./functions/vim.cpp ./functions/env.h ./functions/timezone.h ./functions/who.h ./functions/cp.cpp ./functions/run.cpp ./functions/locale.h ./functions/imgcrop.h ./functions/passwd.h ./functions/mount.h ./functions/privchanger.cpp ./functions/functions.cpp ./functions/last.h ./functions/ckeditor.h ./functions/mkdir.h ./functions/reload.h ./functions/cat.h ./functions/download.h ./functions/ln.h ./functions/nicedit.cpp ./functions/functionbase.cpp ./functions/man.h ./functions/rm.h ./functions/meta.cpp ./functions/emacs.cpp ./functions/sort.h ./functions/who.cpp ./functions/ipban.h ./functions/locale.cpp ./functions/passwd.cpp ./functions/last.cpp ./functions/subject.h ./functions/download.cpp ./functions/cp.h ./functions/cat.cpp ./functions/login.cpp ./functions/tinymce.cpp ./functions/ln.cpp ./functions/run.h ./functions/uname.h ./functions/man.cpp ./functions/functions.h ./functions/privchanger.h ./functions/ls.cpp ./functions/template.h ./functions/stat.h ./functions/priv.cpp ./functions/default.cpp ./functions/functionbase.h ./functions/pw.cpp ./functions/sort.cpp ./functions/ipban.cpp ./functions/chmod.cpp ./functions/meta.h ./functions/account.cpp ./functions/emacs.h ./functions/subject.cpp ./functions/functionparser.cpp ./functions/uname.cpp ./functions/uptime.h ./functions/template.cpp ./functions/stat.cpp ./functions/tinymce.h ./functions/login.h ./functions/chown.cpp ./functions/logout.h ./functions/mv.cpp ./functions/rmuser.h ./functions/ls.h ./main/main.cpp ./notify/notifypool.h ./notify/templatesnotify.cpp ./notify/notify.cpp ./notify/templatesnotify.h ./notify/notify.h ./notify/notifythread.cpp ./notify/notifypool.cpp ./notify/notifythread.h ./plugins/group/init.cpp ./plugins/group/groups.h ./plugins/group/groupinfo.cpp ./plugins/group/groupinfo.h ./plugins/group/templates.cpp ./plugins/group/groups.cpp ./plugins/stats/statssession.h ./plugins/stats/bot.h ./plugins/stats/stats.cpp ./plugins/stats/templates.cpp ./plugins/stats/init.cpp ./plugins/stats/stats.h ./plugins/stats/templates.h ./plugins/stats/bot.cpp ./plugins/gallery/galleryinfo.cpp ./plugins/gallery/templates.cpp ./plugins/gallery/gallery.cpp ./plugins/gallery/galleryinfo.h ./plugins/gallery/init.cpp ./plugins/gallery/gallery.h ./plugins/export/init.cpp ./plugins/export/export.h ./plugins/export/exportthread.cpp ./plugins/export/message.h ./plugins/export/edb.cpp ./plugins/export/funexport.cpp ./plugins/export/exportinfo.cpp ./plugins/export/exportthread.h ./plugins/export/edb.h ./plugins/export/funexport.h ./plugins/export/exportinfo.h ./plugins/ticket/funticket.h ./plugins/ticket/init.cpp ./plugins/ticket/ticketinfo.h ./plugins/ticket/showtickets.cpp ./plugins/ticket/createticket.cpp ./plugins/ticket/tdb.cpp ./plugins/ticket/pluginmsg.h ./plugins/ticket/createticket.h ./plugins/ticket/showtickets.h ./plugins/ticket/sessiondata.cpp ./plugins/ticket/tdb.h ./plugins/ticket/sessiondata.h ./plugins/ticket/ticket.h ./plugins/ticket/editticket.cpp ./plugins/ticket/funticket.cpp ./plugins/ticket/templates.cpp ./plugins/ticket/editticket.h ./plugins/ticket/ticketinfo.cpp ./plugins/menu/cache.cpp ./plugins/menu/init.cpp ./plugins/menu/cache.h ./plugins/menu/templates.cpp ./plugins/thread/funthread.cpp ./plugins/thread/threadinfo.cpp ./plugins/thread/funthread.h ./plugins/thread/threadinfo.h ./plugins/thread/createthread.cpp ./plugins/thread/reply.cpp ./plugins/thread/showthreads.cpp ./plugins/thread/templates.cpp ./plugins/thread/createthread.h ./plugins/thread/reply.h ./plugins/thread/showthreads.h ./plugins/thread/init.cpp ./plugins/thread/templates.h ./plugins/thread/tdb.cpp ./plugins/thread/pluginmsg.h ./plugins/thread/thread.h ./plugins/thread/tdb.h ./plugins/mailregister/funregistermail.h ./plugins/mailregister/mdb.h ./plugins/mailregister/funregistermail.cpp ./plugins/mailregister/mdb.cpp ./plugins/mailregister/init.cpp ./plugins/mailregister/templates.cpp ./plugins/mailregister/registermail_info.h ./plugins/mailregister/funregistermail_showusers.h ./plugins/mailregister/funregistermail_showusers.cpp ./plugins/mailregister/registermail_info.cpp ./templates/who.cpp ./templates/item.cpp ./templates/mount.cpp ./templates/templates.h ./templates/locale.h ./templates/slog.cpp ./templates/doc.cpp ./templates/localefilter.cpp ./templates/config.cpp ./templates/patterns.h ./templates/miscspace.cpp ./templates/filters.cpp ./templates/login.cpp ./templates/man.cpp ./templates/changepatterns.h ./templates/stat.cpp ./templates/template.cpp ./templates/dir.cpp ./templates/user.cpp ./templates/rebus.cpp ./templates/patterncacher.cpp ./templates/upload.cpp ./templates/textextstream.h ./templates/adduser.cpp ./templates/ipban.cpp ./templates/htmltextstream.h ./templates/indexpatterns.h ./templates/templates.cpp ./templates/winix.cpp ./templates/locale.cpp ./templates/misc.h ./templates/patterns.cpp ./templates/passwd.cpp ./templates/last.cpp ./templates/uptime.cpp ./templates/insert.cpp ./templates/changepatterns.cpp ./templates/localefilter.h ./templates/miscspace.h ./templates/ls.cpp ./templates/sys.cpp ./templates/priv.cpp ./templates/textextstream.cpp ./templates/htmltextstream.cpp ./templates/env.cpp ./templates/indexpatterns.cpp ./templates/patterncacher.h ./templates/misc.cpp ./templates/generic.cpp ./templates/currentdate.cpp ./templates/server.cpp ./templates/antispam.cpp ../../ezc/src/blocks.cpp ../../ezc/src/blocks.h ../../ezc/src/cache.cpp ../../ezc/src/cache.h ../../ezc/src/ezc.h ../../ezc/src/functions.h ../../ezc/src/funinfo.h ../../ezc/src/generator.h ../../ezc/src/item.cpp ../../ezc/src/item.h ../../ezc/src/objects.h ../../ezc/src/outstreams.h ../../ezc/src/pattern.cpp ../../ezc/src/pattern.h ../../ezc/src/patternparser.cpp ../../ezc/src/patternparser.h ../../ezc/src/expressionparser.h ../../tito/src/crypto.cpp ../../tito/src/misc.h ../../tito/src/base64.cpp ../../tito/src/crypto.h ../../tito/src/aes.cpp ../../tito/src/base64.h ../../tito/src/misc.cpp ../../tito/src/aes.h ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h ../../pikotools/convert/text.h ../../pikotools/convert/text.cpp ../../pikotools/convert/strtoint.h ../../pikotools/convert/misc.h ../../pikotools/convert/misc.cpp ../../pikotools/date/date.cpp ../../pikotools/date/date.h ../../pikotools/mainparser/sample/sample.cpp ../../pikotools/mainparser/mainparser.cpp ../../pikotools/mainparser/mainparser.h ../../pikotools/mainspaceparser/mainspaceparser.cpp ../../pikotools/mainspaceparser/mainspaceparser.h ../../pikotools/membuffer/membuffer.h ../../pikotools/space/jsontospaceparser.cpp ../../pikotools/space/jsontospaceparser.h ../../pikotools/space/space.cpp ../../pikotools/space/space.h ../../pikotools/space/spaceparser.cpp ../../pikotools/space/spaceparser.h ../../pikotools/space/spacetojson.cpp ../../pikotools/space/spacetojson.h ../../pikotools/textstream/textstream.h ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.cpp ../../pikotools/utf8/utf8.h ../../pikotools/logger/logger.cpp ../../pikotools/logger/logger.h ../../morm/src/finder.h ../../morm/src/model.cpp ../../morm/src/model.h ../../morm/src/modelconnector.cpp ../../morm/src/modelconnector.h ../../morm/src/morm.h ../../morm/src/morm_types.h ../../morm/src/outstream.h ../../morm/src/flatconnector.h ../../morm/src/cursor.h ../../morm/src/flatconnector.cpp ../../morm/src/dbconnector.cpp ../../morm/src/jsonconnector.h ../../morm/src/jsonconnector.cpp ../../morm/src/dbconnector.h ../../morm/src/postgresqlconnector.h ../../morm/src/postgresqlconnector.cpp ../../morm/src/baseexpression.cpp ../../morm/src/baseexpression.h ../../morm/src/flatexpression.cpp ../../morm/src/postgresqlexpression.h ../../morm/src/dbexpression.h ../../morm/src/dbexpression.cpp ../../morm/src/flatexpression.h ../../morm/src/postgresqlexpression.cpp ../../morm/src/clearer.cpp ../../morm/src/jsonexpression.h ../../morm/src/jsonexpression.cpp ../../morm/src/queryresult.h ../../morm/src/clearer.h ../../morm/src/dochtmlconnector.cpp ../../morm/src/dochtmlconnector.h ../../morm/src/dochtmlexpression.cpp ../../morm/src/dochtmlexpression.h ../../morm/src/postgresqlqueryresult.cpp ../../morm/src/postgresqlqueryresult.h ../../morm/src/queryresult.cpp \ No newline at end of file +winix.src.files = ./core/synchro.h ./core/sessioncontainer.h ./core/cookieparser.h ./core/misc.cpp ./core/item.cpp ./core/error.h ./core/timezone.h ./core/compress.h ./core/crypt.cpp ./core/dirs.cpp ./core/slog.cpp ./core/config.cpp ./core/lastcontainer.cpp ./core/users.h ./core/httpsimpleparser.cpp ./core/threadmanager.h ./core/postparser.h ./core/pluginmsg.h ./core/acceptbaseparser.h ./core/loadavg.cpp ./core/job.h ./core/mountparser.cpp ./core/timezones.h ./core/sessionmanager.h ./core/groups.h ./core/system.cpp ./core/rebus.h ./core/synchro.cpp ./core/lock.cpp ./core/acceptencodingparser.h ./core/version.h ./core/compress.cpp ./core/ipbancontainer.cpp ./core/request.h ./core/plugindata.h ./core/plugin.cpp ./core/sessionparser.cpp ./core/bbcodeparser.h ./core/users.cpp ./core/mount.cpp ./core/item.h ./core/slog.h ./core/threadmanager.cpp ./core/acceptbaseparser.cpp ./core/lastcontainer.h ./core/httpsimpleparser.h ./core/timezones.cpp ./core/groups.cpp ./core/requesttypes.h ./core/system.h ./core/bbcodeparser.cpp ./core/lock.h ./core/ipbancontainer.h ./core/group.h ./core/plugin.h ./core/run.cpp ./core/textstream.h ./core/sessionparser.h ./core/basethread.h ./core/mount.h ./core/htmlfilter.cpp ./core/user.cpp ./core/app.cpp ./core/image.cpp ./core/ugcontainer.h ./core/postmultiparser.h ./core/logmanipulators.h ./core/sessioncontainer.cpp ./core/dircontainer.h ./core/log.h ./core/session.h ./core/timezone.cpp ./core/mounts.h ./core/ipban.h ./core/cur.h ./core/misc.h ./core/dirs.h ./core/crypt.h ./core/run.h ./core/config.h ./core/job.cpp ./core/postmultiparser.cpp ./core/sessionmanager.cpp ./core/htmlfilter.h ./core/rebus.cpp ./core/dircontainer.cpp ./core/log.cpp ./core/user.h ./core/loadavg.h ./core/session.cpp ./core/mountparser.h ./core/mounts.cpp ./core/image.h ./core/plugindata.cpp ./core/request.cpp ./core/app.h ./core/basethread.cpp ./core/sessionidmanager.h ./core/winix_const.h ./core/sessionidmanager.cpp ./core/filelog.cpp ./core/filelog.h ./core/winixbase.cpp ./core/winixbase.h ./core/winixmodel.cpp ./core/winixmodel.h ./core/winixrequest.cpp ./core/winixrequest.h ./core/winixsystem.cpp ./core/winixsystem.h ./db/dbconn.cpp ./db/db.cpp ./db/dbbase.h ./db/dbitemcolumns.cpp ./db/dbtextstream.cpp ./db/dbconn.h ./db/db.h ./db/dbitemcolumns.h ./db/dbitemquery.cpp ./db/dbtextstream.h ./db/dbitemquery.h ./db/dbbase.cpp ./functions/upload.cpp ./functions/priv.h ./functions/env.cpp ./functions/default.h ./functions/node.h ./functions/specialdefault.h ./functions/timezone.cpp ./functions/pw.h ./functions/adduser.h ./functions/chmod.h ./functions/imgcrop.cpp ./functions/vim.h ./functions/account.h ./functions/mount.cpp ./functions/uptime.cpp ./functions/ckeditor.cpp ./functions/mkdir.cpp ./functions/reload.cpp ./functions/functionparser.h ./functions/logout.cpp ./functions/rmuser.cpp ./functions/rm.cpp ./functions/chown.h ./functions/nicedit.h ./functions/mv.h ./functions/node.cpp ./functions/specialdefault.cpp ./functions/adduser.cpp ./functions/upload.h ./functions/vim.cpp ./functions/env.h ./functions/timezone.h ./functions/who.h ./functions/cp.cpp ./functions/run.cpp ./functions/locale.h ./functions/imgcrop.h ./functions/passwd.h ./functions/mount.h ./functions/privchanger.cpp ./functions/functions.cpp ./functions/last.h ./functions/ckeditor.h ./functions/mkdir.h ./functions/reload.h ./functions/cat.h ./functions/download.h ./functions/ln.h ./functions/nicedit.cpp ./functions/functionbase.cpp ./functions/man.h ./functions/rm.h ./functions/meta.cpp ./functions/emacs.cpp ./functions/sort.h ./functions/who.cpp ./functions/ipban.h ./functions/locale.cpp ./functions/passwd.cpp ./functions/last.cpp ./functions/subject.h ./functions/download.cpp ./functions/cp.h ./functions/cat.cpp ./functions/login.cpp ./functions/tinymce.cpp ./functions/ln.cpp ./functions/run.h ./functions/uname.h ./functions/man.cpp ./functions/functions.h ./functions/privchanger.h ./functions/ls.cpp ./functions/template.h ./functions/stat.h ./functions/priv.cpp ./functions/default.cpp ./functions/functionbase.h ./functions/pw.cpp ./functions/sort.cpp ./functions/ipban.cpp ./functions/chmod.cpp ./functions/meta.h ./functions/account.cpp ./functions/emacs.h ./functions/subject.cpp ./functions/functionparser.cpp ./functions/uname.cpp ./functions/uptime.h ./functions/template.cpp ./functions/stat.cpp ./functions/tinymce.h ./functions/login.h ./functions/chown.cpp ./functions/logout.h ./functions/mv.cpp ./functions/rmuser.h ./functions/ls.h ./main/main.cpp ./notify/notifypool.h ./notify/templatesnotify.cpp ./notify/notify.cpp ./notify/templatesnotify.h ./notify/notify.h ./notify/notifythread.cpp ./notify/notifypool.cpp ./notify/notifythread.h ./plugins/group/init.cpp ./plugins/group/groups.h ./plugins/group/groupinfo.cpp ./plugins/group/groupinfo.h ./plugins/group/templates.cpp ./plugins/group/groups.cpp ./plugins/stats/statssession.h ./plugins/stats/bot.h ./plugins/stats/stats.cpp ./plugins/stats/templates.cpp ./plugins/stats/init.cpp ./plugins/stats/stats.h ./plugins/stats/templates.h ./plugins/stats/bot.cpp ./plugins/gallery/galleryinfo.cpp ./plugins/gallery/templates.cpp ./plugins/gallery/gallery.cpp ./plugins/gallery/galleryinfo.h ./plugins/gallery/init.cpp ./plugins/gallery/gallery.h ./plugins/export/init.cpp ./plugins/export/export.h ./plugins/export/exportthread.cpp ./plugins/export/message.h ./plugins/export/edb.cpp ./plugins/export/funexport.cpp ./plugins/export/exportinfo.cpp ./plugins/export/exportthread.h ./plugins/export/edb.h ./plugins/export/funexport.h ./plugins/export/exportinfo.h ./plugins/ticket/funticket.h ./plugins/ticket/init.cpp ./plugins/ticket/ticketinfo.h ./plugins/ticket/showtickets.cpp ./plugins/ticket/createticket.cpp ./plugins/ticket/tdb.cpp ./plugins/ticket/pluginmsg.h ./plugins/ticket/createticket.h ./plugins/ticket/showtickets.h ./plugins/ticket/sessiondata.cpp ./plugins/ticket/tdb.h ./plugins/ticket/sessiondata.h ./plugins/ticket/ticket.h ./plugins/ticket/editticket.cpp ./plugins/ticket/funticket.cpp ./plugins/ticket/templates.cpp ./plugins/ticket/editticket.h ./plugins/ticket/ticketinfo.cpp ./plugins/menu/cache.cpp ./plugins/menu/init.cpp ./plugins/menu/cache.h ./plugins/menu/templates.cpp ./plugins/thread/funthread.cpp ./plugins/thread/threadinfo.cpp ./plugins/thread/funthread.h ./plugins/thread/threadinfo.h ./plugins/thread/createthread.cpp ./plugins/thread/reply.cpp ./plugins/thread/showthreads.cpp ./plugins/thread/templates.cpp ./plugins/thread/createthread.h ./plugins/thread/reply.h ./plugins/thread/showthreads.h ./plugins/thread/init.cpp ./plugins/thread/templates.h ./plugins/thread/tdb.cpp ./plugins/thread/pluginmsg.h ./plugins/thread/thread.h ./plugins/thread/tdb.h ./plugins/mailregister/funregistermail.h ./plugins/mailregister/mdb.h ./plugins/mailregister/funregistermail.cpp ./plugins/mailregister/mdb.cpp ./plugins/mailregister/init.cpp ./plugins/mailregister/templates.cpp ./plugins/mailregister/registermail_info.h ./plugins/mailregister/funregistermail_showusers.h ./plugins/mailregister/funregistermail_showusers.cpp ./plugins/mailregister/registermail_info.cpp ./templates/who.cpp ./templates/item.cpp ./templates/mount.cpp ./templates/templates.h ./templates/locale.h ./templates/slog.cpp ./templates/doc.cpp ./templates/localefilter.cpp ./templates/config.cpp ./templates/patterns.h ./templates/miscspace.cpp ./templates/filters.cpp ./templates/login.cpp ./templates/man.cpp ./templates/changepatterns.h ./templates/stat.cpp ./templates/template.cpp ./templates/dir.cpp ./templates/user.cpp ./templates/rebus.cpp ./templates/patterncacher.cpp ./templates/upload.cpp ./templates/textextstream.h ./templates/adduser.cpp ./templates/ipban.cpp ./templates/htmltextstream.h ./templates/indexpatterns.h ./templates/templates.cpp ./templates/winix.cpp ./templates/locale.cpp ./templates/misc.h ./templates/patterns.cpp ./templates/passwd.cpp ./templates/last.cpp ./templates/uptime.cpp ./templates/insert.cpp ./templates/changepatterns.cpp ./templates/localefilter.h ./templates/miscspace.h ./templates/ls.cpp ./templates/sys.cpp ./templates/priv.cpp ./templates/textextstream.cpp ./templates/htmltextstream.cpp ./templates/env.cpp ./templates/indexpatterns.cpp ./templates/patterncacher.h ./templates/misc.cpp ./templates/generic.cpp ./templates/currentdate.cpp ./templates/server.cpp ./templates/antispam.cpp ../../ezc/src/funinfo.h ../../ezc/src/patternparser.cpp ../../ezc/src/generator.h ../../ezc/src/functions.h ../../ezc/src/pattern.cpp ../../ezc/src/item.cpp ../../ezc/src/patternparser.h ../../ezc/src/pattern.h ../../ezc/src/item.h ../../ezc/src/ezc.h ../../ezc/src/cache.cpp ../../ezc/src/cache.h ../../ezc/src/blocks.h ../../ezc/src/blocks.cpp ../../ezc/src/expressionparser.h ../../ezc/src/objects.h ../../ezc/src/outstreams.h ../../tito/src/crypto.cpp ../../tito/src/misc.h ../../tito/src/base64.cpp ../../tito/src/crypto.h ../../tito/src/aes.cpp ../../tito/src/base64.h ../../tito/src/misc.cpp ../../tito/src/aes.h ../../pikotools/mainparser/sample/sample.cpp ../../pikotools/mainparser/mainparser.cpp ../../pikotools/mainparser/mainparser.h ../../pikotools/space/space.h ../../pikotools/space/spaceparser.cpp ../../pikotools/space/space.cpp ../../pikotools/space/spaceparser.h ../../pikotools/space/jsontospaceparser.cpp ../../pikotools/space/spacetojson.cpp ../../pikotools/space/jsontospaceparser.h ../../pikotools/space/spacetojson.h ../../pikotools/date/date.h ../../pikotools/date/date.cpp ../../pikotools/membuffer/membuffer.h ../../pikotools/utf8/utf8.cpp ../../pikotools/utf8/utf8.h ../../pikotools/textstream/textstream.h ../../pikotools/textstream/types.h ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h ../../pikotools/convert/misc.cpp ../../pikotools/convert/misc.h ../../pikotools/convert/strtoint.h ../../pikotools/convert/text.cpp ../../pikotools/convert/text.h ../../pikotools/mainspaceparser/mainspaceparser.cpp ../../pikotools/mainspaceparser/mainspaceparser.h ../../pikotools/logger/logger.cpp ../../pikotools/logger/logger.h ../../morm/src/dbconnector.cpp ../../morm/src/finder.h ../../morm/src/model.cpp ../../morm/src/model.h ../../morm/src/modelconnector.cpp ../../morm/src/modelconnector.h ../../morm/src/morm.h ../../morm/src/morm_types.h ../../morm/src/outstream.h ../../morm/src/baseexpression.cpp ../../morm/src/baseexpression.h ../../morm/src/dochtmlexpression.h ../../morm/src/dbconnector.h ../../morm/src/dbexpression.cpp ../../morm/src/dbexpression.h ../../morm/src/flatconnector.cpp ../../morm/src/flatconnector.h ../../morm/src/flatexpression.cpp ../../morm/src/flatexpression.h ../../morm/src/jsonconnector.cpp ../../morm/src/jsonconnector.h ../../morm/src/jsonexpression.cpp ../../morm/src/jsonexpression.h ../../morm/src/postgresqlconnector.cpp ../../morm/src/postgresqlconnector.h ../../morm/src/postgresqlexpression.cpp ../../morm/src/postgresqlexpression.h ../../morm/src/dochtmlconnector.h ../../morm/src/dochtmlconnector.cpp ../../morm/src/dochtmlexpression.cpp ../../morm/src/clearer.cpp ../../morm/src/clearer.h \ No newline at end of file diff --git a/winixd/core/app.cpp b/winixd/core/app.cpp index a18338b..a5bc14d 100644 --- a/winixd/core/app.cpp +++ b/winixd/core/app.cpp @@ -65,9 +65,11 @@ App::App() last_sessions_save = std::time(0); fcgi_socket = -1; + file_log.set_synchro(&synchro); + file_log.set_time_zones(&system.time_zones); + log.SetLogBuffer(&log_buffer); log.SetFileLog(&file_log); - log.Init(config.log_level, config.log_save_each_line, config.log_request); // objects dependency for main thread winix_base.set_config(&config); @@ -90,6 +92,7 @@ App::App() config.SetFileLog(&file_log); + config.SetLogBuffer(&log_buffer); // temporary there is only one request @@ -159,17 +162,20 @@ App::App() -void App::InitFileLog() +void App::InitLoggers() { - file_log.set_synchro(&synchro); - file_log.set_time_zones(&system.time_zones); - file_log.init(config.log_file, config.log_stdout, config.log_time_zone_id); - - log.SetFileLog(&file_log); - log.Init(config.log_level, config.log_save_each_line, config.log_request); + file_log.init(config.log_file, config.log_stdout, config.log_level, config.log_save_each_line, config.log_time_zone_id); + log.Init(config.log_request); } +Log & App::GetMainLog() +{ + return log; +} + + + void App::InitPlugins() { plugin.LoadPlugins(config.plugins_dir, config.plugin_file); diff --git a/winixd/core/app.h b/winixd/core/app.h index d1bf813..55428a4 100644 --- a/winixd/core/app.h +++ b/winixd/core/app.h @@ -75,7 +75,8 @@ public: bool InitFCGI(); bool DropPrivileges(); - void InitFileLog(); + void InitLoggers(); + Log & GetMainLog(); void InitPlugins(); bool Init(); void Start(); @@ -131,9 +132,6 @@ public: - FileLog file_log; - - private: @@ -190,6 +188,9 @@ private: // logger only for App object Log log; + // file logger, one object for every Log objects + FileLog file_log; + bool InitFCGI(char * sock, char * sock_user, char * sock_group); bool InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_group); bool DropPrivileges(char * user, char * group); diff --git a/winixd/core/config.cpp b/winixd/core/config.cpp index 099319d..0a4ff8f 100644 --- a/winixd/core/config.cpp +++ b/winixd/core/config.cpp @@ -54,7 +54,13 @@ void Config::SetFileLog(FileLog * file_log) log.SetFileLog(file_log); // the config is not read yet so we put some constants here - log.Init(3, false, 1); + log.Init(1); +} + + +void Config::SetLogBuffer(TextStream * log_buffer) +{ + log.SetLogBuffer(log_buffer); } diff --git a/winixd/core/config.h b/winixd/core/config.h index a7054d4..71f26e1 100644 --- a/winixd/core/config.h +++ b/winixd/core/config.h @@ -819,7 +819,10 @@ public: // raw access to the config PT::Space space; + void SetFileLog(FileLog * file_log); + void SetLogBuffer(TextStream * log_buffer); + private: diff --git a/winixd/core/dirs.cpp b/winixd/core/dirs.cpp index 8733d70..9299f9d 100644 --- a/winixd/core/dirs.cpp +++ b/winixd/core/dirs.cpp @@ -60,6 +60,13 @@ void Dirs::SetNotify(Notify * pnotify) } +void Dirs::set_dependency(WinixModel * winix_model) +{ + WinixModel::set_dependency(winix_model); + dir_tab.set_dependency(winix_model); +} + + void Dirs::Clear() { dir_tab.Clear(); diff --git a/winixd/core/dirs.h b/winixd/core/dirs.h index fbc291c..7d1f3b1 100644 --- a/winixd/core/dirs.h +++ b/winixd/core/dirs.h @@ -69,6 +69,8 @@ public: void SetDb(Db * pdb); void SetNotify(Notify * pnotify); + void set_dependency(WinixModel * winix_model); + // these methods return false if there is no such a dir bool IsDir(long dir_id); bool GetDirChilds(long parent_id, std::vector & childs_tab); // !! zamienic na GetChilds() diff --git a/winixd/core/filelog.cpp b/winixd/core/filelog.cpp index 9517cf0..b39ed70 100644 --- a/winixd/core/filelog.cpp +++ b/winixd/core/filelog.cpp @@ -66,23 +66,38 @@ void FileLog::set_synchro(Synchro * synchro) } -void FileLog::init(const std::wstring & log_file, bool log_stdout, size_t log_time_zone_id) +void FileLog::init(const std::wstring & log_file, bool log_stdout, int log_level, bool save_each_line, size_t log_time_zone_id) { this->log_stdout = log_stdout; this->log_time_zone_id = log_time_zone_id; + this->log_level = log_level; + this->save_each_line = save_each_line; PT::WideToUTF8(log_file, this->log_file); // don't open the file here // because it would be created with the root as an owner } - void FileLog::set_time_zones(TimeZones * time_zones) { this->time_zones = time_zones; } +int FileLog::get_log_level() +{ + return log_level; +} + + +bool FileLog::should_save_each_line() +{ + return save_each_line; +} + + + + PT::Date FileLog::get_local_date(const PT::Date & date) { if( time_zones ) diff --git a/winixd/core/filelog.h b/winixd/core/filelog.h index 0eff17d..d10955c 100644 --- a/winixd/core/filelog.h +++ b/winixd/core/filelog.h @@ -58,12 +58,14 @@ public: void set_synchro(Synchro * synchro); - void init(const std::wstring & log_file, bool log_stdout, size_t log_time_zone_id); + void init(const std::wstring & log_file, bool log_stdout, int log_level, bool save_each_line, size_t log_time_zone_id); void save_log(TextStream * buffer); void set_time_zones(TimeZones * time_zones); PT::Date get_local_date(const PT::Date & date); + int get_log_level(); + bool should_save_each_line(); private: @@ -83,6 +85,13 @@ private: Synchro * synchro; + // log lovel from the config file + int log_level; + + // whether to save each line (for debug) + bool save_each_line; + + void open_file(); }; diff --git a/winixd/core/loadavg.h b/winixd/core/loadavg.h index 031b79d..b585a64 100644 --- a/winixd/core/loadavg.h +++ b/winixd/core/loadavg.h @@ -52,7 +52,7 @@ namespace Winix -class LoadAvg : WinixBase +class LoadAvg : public WinixBase { public: LoadAvg(); diff --git a/winixd/core/log.cpp b/winixd/core/log.cpp index 75a99da..49a35c5 100644 --- a/winixd/core/log.cpp +++ b/winixd/core/log.cpp @@ -46,14 +46,12 @@ namespace Winix Log::Log() { - log_level = 1; current_level = 100; // nothing to log (call Init() first) request = 0; max_requests = 1; lines = 0; max_lines = 5000; file_log = nullptr; - save_each_line = false; buffer = nullptr; } @@ -89,17 +87,9 @@ void Log::SetDependency(Log * log) } -int Log::LogLevel() + +void Log::Init(int max_requests) { - return log_level; -} - - - -void Log::Init(int log_level, bool save_each_line, int max_requests) -{ - this->log_level = log_level; - this->save_each_line = save_each_line; this->max_requests = max_requests; } @@ -121,7 +111,7 @@ void Log::PrintDate(const PT::Date & date) Log & Log::operator<<(const void * s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -133,7 +123,7 @@ Log & Log::operator<<(const void * s) Log & Log::operator<<(const char * s) { - if( current_level <= log_level && buffer && s ) + if( current_level <= file_log->get_log_level() && buffer && s ) { (*buffer) << s; } @@ -145,7 +135,7 @@ return *this; Log & Log::operator<<(const std::string & s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -157,7 +147,7 @@ Log & Log::operator<<(const std::string & s) Log & Log::operator<<(const std::string * s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << *s; } @@ -172,7 +162,7 @@ Log & Log::operator<<(const std::string * s) Log & Log::operator<<(const wchar_t * s) { - if( current_level <= log_level && buffer && s ) + if( current_level <= file_log->get_log_level() && buffer && s ) { (*buffer) << s; } @@ -184,7 +174,7 @@ return *this; Log & Log::operator<<(const std::wstring & s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -196,7 +186,7 @@ Log & Log::operator<<(const std::wstring & s) Log & Log::operator<<(const std::wstring * s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << *s; } @@ -210,7 +200,7 @@ Log & Log::operator<<(const std::wstring * s) Log & Log::operator<<(int s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -222,7 +212,7 @@ Log & Log::operator<<(int s) Log & Log::operator<<(long s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -235,7 +225,7 @@ Log & Log::operator<<(long s) Log & Log::operator<<(char s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -246,7 +236,7 @@ Log & Log::operator<<(char s) Log & Log::operator<<(wchar_t s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -257,7 +247,7 @@ Log & Log::operator<<(wchar_t s) Log & Log::operator<<(size_t s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -269,7 +259,7 @@ Log & Log::operator<<(size_t s) Log & Log::operator<<(double s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -281,7 +271,7 @@ Log & Log::operator<<(double s) Log & Log::operator<<(const PT::Space & s) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << s; } @@ -293,7 +283,7 @@ return *this; Log & Log::operator<<(const PT::Date & date) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << date; } @@ -308,12 +298,12 @@ Log & Log::operator<<(LogManipulators m) switch(m) { case logend: - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { (*buffer) << '\n'; lines += 1; - if( save_each_line ) + if( file_log->should_save_each_line() ) SaveLogAndClear(); } break; @@ -455,7 +445,7 @@ void Log::SaveLogAndClear() void Log::SaveLog() { - if( file_log && buffer ) + if( buffer ) { file_log->save_log(buffer); } diff --git a/winixd/core/log.h b/winixd/core/log.h index a199371..2c787f3 100644 --- a/winixd/core/log.h +++ b/winixd/core/log.h @@ -65,7 +65,7 @@ public: void SetDependency(Log * log); - void Init(int log_level, bool save_each_line, int max_requests); + void Init(int max_requests); Log & operator<<(const void * s); Log & operator<<(const char * s); @@ -101,7 +101,6 @@ public: void SaveLog(); void SaveLogAndClear(); - int LogLevel(); @@ -110,9 +109,6 @@ private: // buffer for the log TextStream * buffer; // IMPROVE ME this buffer should be a common buffer for all objects for a one thread - // log lovel from the config file - int log_level; - // current level set by a modifier (e.g. log << log3) int current_level; @@ -123,6 +119,8 @@ private: // how many request to save at once int max_requests; + + // IMPROVE ME now we don't know how many lines there are in the buffer as the buffer can be used by other Logs // how many lines there are in the buffer int lines; @@ -130,8 +128,6 @@ private: // default: 5000 int max_lines; - // whether to save each line (for debug) - bool save_each_line; FileLog * file_log; @@ -147,7 +143,7 @@ void Log::LogString(const StringType & value, size_t max_size) { size_t min_size = value.size() < max_size ? value.size() : max_size; - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) { for(size_t i=0 ; i Log & Log::operator<<(const PT::TextStreamBase & buf) { - if( current_level <= log_level && buffer ) + if( current_level <= file_log->get_log_level() && buffer ) (*buffer) << buf; return *this; diff --git a/winixd/core/plugin.cpp b/winixd/core/plugin.cpp index 487aa35..279c946 100644 --- a/winixd/core/plugin.cpp +++ b/winixd/core/plugin.cpp @@ -197,7 +197,7 @@ bool Plugin::SetDependency(PluginInfo & info) info.plugin = this; info.log.SetDependency(&log); - log.Init(config->log_level, config->log_save_each_line, config->log_request); + log.Init(config->log_request); return res; } diff --git a/winixd/core/system.cpp b/winixd/core/system.cpp index 264d912..75d35e2 100644 --- a/winixd/core/system.cpp +++ b/winixd/core/system.cpp @@ -83,9 +83,20 @@ void System::SetSessionManager(SessionManager * sm) void System::set_dependency(WinixModel * winix_model) { + WinixModel::set_dependency(winix_model); + + dirs.set_dependency(this); + mounts.set_dependency(this); + users.set_dependency(this); + groups.set_dependency(this); + rebus.set_dependency(this); + load_avg.set_dependency(this); + notify.set_dependency(this); + image.set_dependency(this); + crypt.set_dependency(this); + thread_manager.set_dependency(this); job.set_dependency(winix_model); time_zones.set_dependency(winix_model); - WinixModel::set_dependency(winix_model); } @@ -115,16 +126,13 @@ void System::ReadTimeZones() void System::Init() { //thread_manager.SetSynchro(synchro); - thread_manager.set_dependency(this); thread_manager.Init(); - dirs.set_dependency(this); dirs.SetDb(db); dirs.SetCur(cur); // only one method is using cur, can be passed as a parameter to the method dirs.SetNotify(¬ify); dirs.ReadDirs(); - mounts.set_dependency(this); mounts.SkipStaticDirs(config->dont_use_static_dirs); mounts.SetDirs(&dirs); mounts.SetDb(db); @@ -132,19 +140,16 @@ void System::Init() mounts.CreateMounts(); mounts.ReadMounts(); - users.set_dependency(this); users.SetCur(cur); users.SetSessionManager(session_manager); users.ReadUsers(db); - groups.set_dependency(this); groups.ReadGroups(db); // !! chwilowe przekazanie argumentu, db bedzie zmienione - rebus.set_dependency(this); rebus.SetCur(cur); rebus.Init(); - notify.set_dependency(this); + notify.SetCur(cur); //notify.SetConfig(config); notify.SetUsers(&users); @@ -157,7 +162,8 @@ void System::Init() image.SetSystem(this); thread_manager.Add(&image, L"image"); - crypt.set_dependency(this); + + // SetSynchro will be called by ThreadManager itself // job.ReadFromFile(); diff --git a/winixd/core/winixbase.cpp b/winixd/core/winixbase.cpp index 021b27e..4e092cb 100644 --- a/winixd/core/winixbase.cpp +++ b/winixd/core/winixbase.cpp @@ -79,7 +79,7 @@ void WinixBase::set_dependency(WinixBase * winix_base) { config = winix_base->config; synchro = winix_base->synchro; - log.SetFileLog(winix_base->log.GetFileLog()); + log.SetDependency(&winix_base->log); } diff --git a/winixd/core/winixmodel.cpp b/winixd/core/winixmodel.cpp index 10ddac2..c16e9f9 100644 --- a/winixd/core/winixmodel.cpp +++ b/winixd/core/winixmodel.cpp @@ -75,6 +75,7 @@ void WinixModel::set_dependency(WinixModel * winix_model) { WinixBase::set_dependency(winix_model); model_connector = winix_model->model_connector; + plugin = winix_model->plugin; } diff --git a/winixd/main/main.cpp b/winixd/main/main.cpp index 2f129a2..138df05 100644 --- a/winixd/main/main.cpp +++ b/winixd/main/main.cpp @@ -43,8 +43,7 @@ #include "core/app.h" #include "core/version.h" #include "utf8/utf8.h" -#include "core/filelog.h" -#include "core/log.h" + @@ -159,10 +158,6 @@ using Winix::app; std::srand(std::time(0)); - Winix::TextStream log_buffer; - Winix::Log log; // log only for main() function - log.SetLogBuffer(&log_buffer); - if( argv != 2 ) { Winix::print_syntax(); @@ -180,6 +175,9 @@ using Winix::app; if( !app.config.ReadConfig(true, false) ) /* errors to stdout, stdout in not closed */ return 2; + Winix::Log & log = app.GetMainLog(); + app.InitLoggers(); + if( app.stdout_is_closed || app.config.demonize ) app.config.log_stdout = false; @@ -189,11 +187,6 @@ using Winix::app; if( app.config.demonize && !app.Demonize() ) return 4; - - app.InitFileLog(); - log.SetFileLog(&app.file_log); - log.Init(app.config.log_level, app.config.log_save_each_line, app.config.log_request); - Winix::LogInfo(log, Winix::log3, "booting Winix", true, ""); if( !app.InitFCGI() ) diff --git a/winixd/templates/templates.cpp b/winixd/templates/templates.cpp index 53f7c2c..b8f4569 100644 --- a/winixd/templates/templates.cpp +++ b/winixd/templates/templates.cpp @@ -1184,8 +1184,8 @@ void Templates::set_dependency(WinixRequest * winix_request) TemplatesFunctions::locale_filter.set_dependency(winix_request); TemplatesFunctions::html_filter.set_dependency(winix_request); - log.SetDependency(&this->log); - log.Init(config->log_level, config->log_save_each_line, config->log_request); + TemplatesFunctions::log.SetDependency(&this->log); + TemplatesFunctions::log.Init(config->log_request); plugin = winix_request->get_plugin(); }