File: lua_backbround_script_logging.lua

package info (click to toggle)
civetweb 1.16%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 5,184 kB
  • sloc: ansic: 32,473; cpp: 1,374; sh: 480; javascript: 204; makefile: 120; php: 11; perl: 6; python: 3
file content (52 lines) | stat: -rw-r--r-- 1,440 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

function start()
    -- The "start" function is called when the server is ready.
	logfile = io.open("C:\\tmp\\lualog.txt", "w");
	if (logfile) then
	    logfile:write("Server start: " .. os.date('%Y-%m-%dT%H:%M:%S') .. "\n\n");
	end
end


function stop()
    -- The "stop" function is called when the server is stopping.
    logfile:close();
end


function log(req, resp)
    -- The "log" function can be used to
	-- (a) filter messages and return boolean: true (log) or false (do not log)
	-- (b) format log message and return it as string (empty string will not log)
	-- (c) forward the log data to an external log

	if logfile then
	  logfile:write(os.date('%Y-%m-%dT%H:%M:%S').."\n");
	  logfile:write("request:\n");
	  for k,v in pairs(req) do
	    logfile:write("  " .. tostring(k) .. " = " .. tostring(v) .. "\n");
		if type(v) == "table" then
		  for k2,v2 in pairs(v) do
	        logfile:write("    " .. tostring(k2) .. " = " .. tostring(v2) .. "\n");
		  end
		end
	  end
	  logfile:write("response:\n");
	  for k,v in pairs(resp) do
	    logfile:write("  " .. tostring(k) .. " = " .. tostring(v) .. "\n");
		if type(v) == "table" then
		  for k2,v2 in pairs(v) do
	        logfile:write("    " .. tostring(k2) .. " = " .. tostring(v2) .. "\n");
		  end
		end
	  end
	  logfile:write("----\n\n");
	  logfile:flush();
	end

	-- Logging already done here
	return false;
end

-- Return true to continue server startup.
return true;