summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Smith (work) <jhs@iriscouch.com>2013-02-11 05:23:32 +0000
committerJason Smith (work) <jhs@iriscouch.com>2013-02-11 05:29:25 +0000
commita5bc55784ca58fef31f7e5e3fccbd28bf5b89659 (patch)
treefd64e947fc7b738b3f2fa76cee6c12bc6ada7911
parent87670bfaa7fc77aeafcfbd71fd5e693c3e48ea0e (diff)
downloadcouchdb-a5bc55784ca58fef31f7e5e3fccbd28bf5b89659.tar.gz
Refactor to a utility function: the code to compute the query server logfile
-rw-r--r--src/couchdb/couch_log.erl32
1 files changed, 19 insertions, 13 deletions
diff --git a/src/couchdb/couch_log.erl b/src/couchdb/couch_log.erl
index 937cf4b3f..c30b67a9e 100644
--- a/src/couchdb/couch_log.erl
+++ b/src/couchdb/couch_log.erl
@@ -111,19 +111,7 @@ init([]) ->
ets:insert(?MODULE, {Module, ModuleLevelInteger})
end, LevelByModule),
- QuerySrvFile = case couch_config:get("log", "query_server_file", Filename) of
- Filename ->
- Filename;
- OtherFilename ->
- case filename:pathtype(OtherFilename) of
- relative ->
- LogDir = filename:dirname(Filename),
- filename:join(LogDir, OtherFilename);
- _ ->
- OtherFilename
- end
- end,
-
+ QuerySrvFile = get_abs_query_server_file(),
case file:open(Filename, [append]) of
{ok, Fd} ->
case QuerySrvFile of
@@ -265,6 +253,24 @@ get_query_server_messages(Pid, Level, Port, Message) ->
{ConsoleMsg, FileMsg, QueryFileMsg}.
+% Get the absolute path to the configured query server file. If it looks like
+% a relative path, then it is relative to the main log file's directory.
+get_abs_query_server_file() ->
+ LogFile = couch_config:get("log", "file", "couchdb.log"),
+ case couch_config:get("log", "query_server_file", LogFile) of
+ LogFile ->
+ LogFile;
+ OtherFile ->
+ case filename:pathtype(OtherFile) of
+ relative ->
+ LogDir = filename:dirname(LogFile),
+ filename:join(LogDir, OtherFile);
+ _ ->
+ OtherFile
+ end
+ end.
+
+
% Read Bytes bytes from the end of log file, jumping Offset bytes towards
% the beginning of the file first.
%