summaryrefslogtreecommitdiff
path: root/src/couchdb/couch_log.erl
diff options
context:
space:
mode:
authorJan Lehnardt <jan@apache.org>2009-05-12 21:18:40 +0000
committerJan Lehnardt <jan@apache.org>2009-05-12 21:18:40 +0000
commit9418d9814779dd27e15036fc6b9d9355a4b70578 (patch)
tree2264845829e1e29eaca5a84e2624f8ef04a5014f /src/couchdb/couch_log.erl
parent7c76d131110e4641114e3066844e7195efb2f33b (diff)
add offset parameter so clients like Futon can deliver a consistent user experience
git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@774095 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/couchdb/couch_log.erl')
-rw-r--r--src/couchdb/couch_log.erl8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/couchdb/couch_log.erl b/src/couchdb/couch_log.erl
index 693eed9b..14c262d0 100644
--- a/src/couchdb/couch_log.erl
+++ b/src/couchdb/couch_log.erl
@@ -16,7 +16,7 @@
-export([start_link/0,stop/0]).
-export([debug_on/0,info_on/0,get_level/0,get_level_integer/0, set_level/1]).
-export([init/1, handle_event/2, terminate/2, code_change/3, handle_info/2, handle_call/2]).
--export([read/1]).
+-export([read/2]).
-define(LEVEL_ERROR, 3).
-define(LEVEL_INFO, 2).
@@ -122,12 +122,12 @@ log(Fd, Pid, Level, Format, Args) ->
{ok, Msg2, _} = regexp:gsub(lists:flatten(Msg),"\\r\\n|\\r|\\n", "\r\n"),
ok = io:format(Fd, "[~s] [~s] [~p] ~s\r~n\r~n", [httpd_util:rfc1123_date(), Level, Pid, Msg2]).
-read(LastBytes) ->
+read(Bytes, Offset) ->
LogFileName = couch_config:get("log", "file"),
LogFileSize = couch_util:file_read_size(LogFileName),
- {ok, Fd} = file:open(LogFileName, [binary]),
- Start = lists:max([LogFileSize - LastBytes, 0]),
+ {ok, Fd} = file:open(LogFileName, [read]),
+ Start = lists:max([LogFileSize - Bytes, 0]) + Offset,
% TODO: truncate chopped first line
% TODO: make streaming