File: lua_backbround_script_logging.lua

package info (click to toggle)
civetweb 1.15%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 4,428 kB
  • sloc: ansic: 30,865; cpp: 1,290; sh: 494; javascript: 204; python: 143; makefile: 93; perl: 6; php: 1
file content (52 lines) | stat: -rw-r--r-- 1,439 bytes parent folder | download | duplicates (3)
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

	-- Loging already done here
	return false;
end

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