summaryrefslogtreecommitdiffstats
path: root/logfiles-model.lua
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2007-11-01 16:29:17 +0000
committerMika Havela <mika.havela@gmail.com>2007-11-01 16:29:17 +0000
commit6e1c67f38c43b88b4f098ced3279e2227c593e53 (patch)
tree4d92e20679cf490e4de849ad9a6b8dbeafafe16c /logfiles-model.lua
parent5af4aa8ec50c8c335a5884900a997d260b274ea9 (diff)
downloadacf-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.lua75
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
+