diff options
author | Mika Havela <mika.havela@gmail.com> | 2007-11-01 16:29:17 +0000 |
---|---|---|
committer | Mika Havela <mika.havela@gmail.com> | 2007-11-01 16:29:17 +0000 |
commit | 6e1c67f38c43b88b4f098ced3279e2227c593e53 (patch) | |
tree | 4d92e20679cf490e4de849ad9a6b8dbeafafe16c /logfiles-model.lua | |
parent | 5af4aa8ec50c8c335a5884900a997d260b274ea9 (diff) | |
download | acf-alpine-baselayout-6e1c67f38c43b88b4f098ced3279e2227c593e53.tar.bz2 acf-alpine-baselayout-6e1c67f38c43b88b4f098ced3279e2227c593e53.tar.xz |
Initial code for logfile browsing
git-svn-id: svn://svn.alpinelinux.org/acf/alpine-baselayout/trunk@243 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'logfiles-model.lua')
-rw-r--r-- | logfiles-model.lua | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/logfiles-model.lua b/logfiles-model.lua new file mode 100644 index 0000000..204da04 --- /dev/null +++ b/logfiles-model.lua @@ -0,0 +1,75 @@ +module (..., package.seeall) + +-- no initializer in model - use controller.init for that + +local function list_files ( path ) + local listed_files = {} + local open_files = {} + split = require("split") + local files = io.popen("find " .. path .. " -type f | sort") +-- local files_opened = io.popen("ls -l $( find /proc/[0-9]*/fd) | egrep 'tmp\|var' - | sed 's/ \+/ /g' | sort") + + opens=" ls -l $( find /proc/[0-9]*/fd 2>/dev/null) 2>/dev/null | \ + egrep 'tmp\|var' - | sed 's/ \+/ /g' | \ + cut -f 12" +-- cut -f11 -d' ' | sort |uniq " + local files_opened = io.popen(opens) + + if ( files ) then + local f = files:read("*a") or "unknown" + for k,v in pairs(split("%s", f)) do + if v ~= "" then + table.insert ( listed_files , cfe{date="?", name=v, size="?"} ) + end + end + files:close() + end + table.insert ( listed_files , cfe{date="---", name="--- Now follows list with open files to compare agains logfile-list ---", size="---"} ) + +-- if ( files_opened ) then + local f = files_opened:read("*a") or "unknown" +-- for k,v in pairs(split("%s", f)) do + table.insert ( listed_files , cfe{date="?", name=f, size="?"} ) +-- end +-- files_opened:close() +-- end + + return listed_files +end + +function list_filesx ( path ) + local file, error = io.popen("find " .. path .. " -type f") + if ( file == nil ) then + return nil, error + end + local f = {} + for line in file:lines() do + table.insert ( f , cfe{value=line, name=line} ) + end + file:close() + return f +end + + + +local function read_file ( path ) + local file = io.open(path) + if ( file ) then + local f = file:read("*a") or "unknown" + file:close() + return f + else + return "Cant find '" .. path .. "'" + end +end + +get = function (self,path) + local logfile_folders = "/var/log /tmp/squid/log" + local logfile_result = {} +-- logfile_result = cfe{value=read_file(path), name=path} +-- logfile_result = cfe{value=list_files(logfile_folders), name=path} + logfile_result = list_files(logfile_folders) + file_name = cfe{value=path, name=file_name} + return logfile_result +end + |