From 0fdb99dbc860a6f106eb09074adcb78b670c08c3 Mon Sep 17 00:00:00 2001 From: Mika Havela Date: Thu, 10 Jan 2008 13:00:07 +0000 Subject: Current status is now displayed. Apply settings doesn't work! git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@528 ab2d0c66-481e-0410-8bed-d214d4d58bed --- syslog-config-html.lsp | 59 ++++++++++++++++++++++++++++++-------------------- syslog-controller.lua | 5 ++++- syslog-expert-html.lsp | 19 +++++++++++----- syslog-model.lua | 54 ++++++++++++++++++++++++++++++++------------- syslog-status-html.lsp | 7 +++--- 5 files changed, 95 insertions(+), 49 deletions(-) diff --git a/syslog-config-html.lsp b/syslog-config-html.lsp index 7396d25..abb1f75 100644 --- a/syslog-config-html.lsp +++ b/syslog-config-html.lsp @@ -4,48 +4,59 @@

Enable/Disable

Change status for this program
-
>Enable ->Disable
+
>Enable + >Disable

Guided config

General settings

-
Log to given file
-
-

(default=/var/log/messages)

- -
Set local log level
-
>1 ->2 ->3 ->4 ->5 ->Default -

(1=Quiet, 5=Noisy, Default=Not specifyed any loglevel in the config)

+
+
+

(default=/var/log/messages)

+

-
Smaller logging output
-
/>
+
+
>1 +>2 +>3 +>4 +>5 +>Default +

+

+ +
+
/>

Save logs for a longer period

-
Max size (KB) before rotate
-
+
+

(default=200KB, 0=off)

+

-
Number of rotated logs to keep
-
+
+

(default=1, max=99, 0=purge)

+

Remote logging

-
Log to IP or hostname on PORT
-
-

(default PORT=514/UDP)

+
+
+

(default PORT=514/UDP)

+

+

Save and apply above settings

Apply settings
- + diff --git a/syslog-controller.lua b/syslog-controller.lua index d0d05eb..0bdc2f5 100644 --- a/syslog-controller.lua +++ b/syslog-controller.lua @@ -24,5 +24,8 @@ function config(self) return { status = self.model.getstatus(), srvcmdresult=srvcmdresult, config= self.model.getconfig() } end -expert = config +function expert(self) + return { file = self.model:get_filedetails(), status = self.model.getstatus(),} + +end diff --git a/syslog-expert-html.lsp b/syslog-expert-html.lsp index 9d74227..5f5d6ec 100644 --- a/syslog-expert-html.lsp +++ b/syslog-expert-html.lsp @@ -4,28 +4,35 @@

Enable/Disable

Change status for this program
-
>Enable ->Disable
+
>Enable + >Disable

Expert config

File details

File name
-
/etc/conf.d/syslogd
+
File size
-
60
+
Last modified
-
Mon Aug 20 16:58:19 2007
+

File content

- +

Save and apply above settings

Apply settings
+ + diff --git a/syslog-model.lua b/syslog-model.lua index ac37572..2ec8b3b 100644 --- a/syslog-model.lua +++ b/syslog-model.lua @@ -1,7 +1,7 @@ module(..., package.seeall) ---require("pidof") -require("split") +require("fs") +require("posix") local function get_version() local cmd = "/sbin/apk_version -v -s busybox | cut -d ' ' -f 1" @@ -18,9 +18,7 @@ local is_running = function( process ) local cmdoutput = string.gsub(cmd:read("*a"), "%s", "") cmd:close() if (cmdoutput ~= "") then - statusreport = "Running" - else - statusreport = "Stopped" + statusreport = "Yes" end return statusreport end @@ -59,6 +57,27 @@ local function readopts(optname) return opts end +local function file_info ( path ) + local filedetails = posix.stat(path) + filedetails["owner"]=rawget((posix.getpasswd(filedetails["uid"])),"name") + filedetails["group"]=rawget((posix.getgroup(filedetails["gid"])),"name") + filedetails["atimelong"]=os.date("%c", filedetails["atime"]) + filedetails["mtimelong"]=os.date("%c", filedetails["mtime"]) + filedetails["path"]=path + filedetails["name"]=basename(path) + + if ( filedetails["size"] > 1073741824 ) then + filedetails["size"]=((filedetails["size"]/1073741824) - (filedetails["size"]/1073741824%0.1)) .. "G" + elseif ( filedetails["size"] > 1048576 ) then + filedetails["size"]=((filedetails["size"]/1048576) - (filedetails["size"]/1048576%0.1)) .. "M" + elseif ( filedetails["size"] > 1024 ) then + filedetails["size"]=((filedetails["size"]/1024) - (filedetails["size"]/1024%0.1)) .. "k" + else + filedetails["size"]=filedetails["size"] + end + return filedetails + +end -- ################################################################################ -- EXPERIMENTAL LOCAL FUNCTIONS @@ -69,25 +88,30 @@ end function getstatus() local opts = readopts("SYSLOGD_OPTS") local status = {} - local version = get_version() - status.version = version - local isrunning = is_running("syslogd") - status.status = isrunning + status.version = get_version() + status.enabled = is_running("syslogd") status.logfile = opts["-O"] or "/var/log/messages" status.remote = opts["-R"] return status end +function get_filedetails() + local filedetails = {} + local path = "/etc/conf.d/syslog" + filedetails.details = file_info(path) + filedetails.content = fs.read_file(path) + return filedetails +end function getconfig() local opts = readopts("SYSLOGD_OPTS") local config = {} config.debug = opts - config.logfile = opts["-O"] or "" - config.loglevel = opts["-l"] or "" - config.smallog = opts["-S"] --FIXME: DOESNT WORK!!! - config.maxsize = opts["-s"] or "" - config.logrotate = opts["-b"] or "" - config.remote = opts["-R"] or "" + config.logfile = cfe({value=opts["-O"], type="text", option="", errtxt="" ,label="Log to given file", }) + config.loglevel = cfe({value=opts["-l"], type="radio", option="", errtxt="", helptxt="(1=Quiet, 5=Noisy, Default=Not specifyed any loglevel in the config)", label="Set local log level", }) + config.smallog = cfe({value=opts["-S"], type="select", option="", errtxt="", label="Smaller logging output", }) + config.maxsize = cfe({value=opts["-s"], type="text", option="", errtxt="", label="Max size (KB) before rotate", }) + config.logrotate = cfe({value=opts["-b"], type="text", option="", errtxt="", label="Number of rotated logs to keep", }) + config.remote = cfe({value=opts["-R"], type="text", option="", errtxt="", label="Log to IP or hostname on PORT", }) return config end diff --git a/syslog-status-html.lsp b/syslog-status-html.lsp index 20dae6b..6cd46a4 100644 --- a/syslog-status-html.lsp +++ b/syslog-status-html.lsp @@ -4,13 +4,14 @@

SYSTEM INFO

-
Process status
-
+
Program status
+
+
Program version
-

GENERAL CONFIGURATIONS

+

PROGRAM SPECIFIC OPTIONS

Locally logging to
-- cgit v1.2.3