Change API to function per level
diff --git a/include/couch_db_tmp.hrl b/include/couch_db_tmp.hrl
index 3a8e9d7..cd3a047 100644
--- a/include/couch_db_tmp.hrl
+++ b/include/couch_db_tmp.hrl
@@ -25,9 +25,9 @@
 
 -define(DEFAULT_ATTACHMENT_CONTENT_TYPE, <<"application/octet-stream">>).
 
--define(LOG_DEBUG(Format, Args), couch_log:log(debug, Format, Args)).
--define(LOG_INFO(Format, Args), couch_log:log(notice, Format, Args)).
--define(LOG_ERROR(Format, Args), couch_log:log(error, Format, Args)).
+-define(LOG_DEBUG(Format, Args), couch_log:debug(Format, Args)).
+-define(LOG_INFO(Format, Args), couch_log:notice(Format, Args)).
+-define(LOG_ERROR(Format, Args), couch_log:error(Format, Args)).
 
 -record(rev_info,
     {
diff --git a/src/fabric_db_delete.erl b/src/fabric_db_delete.erl
index ff81d19..dced33c 100644
--- a/src/fabric_db_delete.erl
+++ b/src/fabric_db_delete.erl
@@ -74,7 +74,7 @@
         case {Ok + NotFound, Ok, NotFound} of
         {W, 0, W} ->
             {#shard{dbname=Name}, _} = hd(Counters),
-            couch_log:log(warn, "~p not_found ~s", [?MODULE, Name]),
+            couch_log:warning("~p not_found ~s", [?MODULE, Name]),
             {stop, not_found};
         {W, _, _} ->
             {stop, ok};
diff --git a/src/fabric_db_meta.erl b/src/fabric_db_meta.erl
index 662e2d3..316f10e 100644
--- a/src/fabric_db_meta.erl
+++ b/src/fabric_db_meta.erl
@@ -78,7 +78,7 @@
     maybe_finish_set(NewAcc);
 handle_set_message(Error, W, Acc) ->
     Dst = {W#shard.node, W#shard.name},
-    couch_log:log(err, "Failed to set security object on ~p :: ~p", [Dst, Error]),
+    couch_log:error("Failed to set security object on ~p :: ~p", [Dst, Error]),
     NewAcc = Acc#acc{workers = (Acc#acc.workers -- [W])},
     maybe_finish_set(NewAcc).
 
@@ -147,7 +147,7 @@
     maybe_finish_get(NewAcc);
 handle_get_message(Error, W, Acc) ->
     Dst = {W#shard.node, W#shard.name},
-    couch_log:log(err, "Failed to get security object on ~p :: ~p", [Dst, Error]),
+    couch_log:error("Failed to get security object on ~p :: ~p", [Dst, Error]),
     NewAcc = Acc#acc{workers = (Acc#acc.workers -- [W])},
     maybe_finish_set(NewAcc).
 
diff --git a/src/fabric_db_update_listener.erl b/src/fabric_db_update_listener.erl
index 190c582..f85a2cf 100644
--- a/src/fabric_db_update_listener.erl
+++ b/src/fabric_db_update_listener.erl
@@ -89,7 +89,7 @@
         {Parent, stop} ->
             stop_update_notifiers(Notifiers);
         Else ->
-            couch_log:log(error, "Unkown message in ~w :: ~w", [?MODULE, Else]),
+            couch_log:error("Unkown message in ~w :: ~w", [?MODULE, Else]),
             stop_update_notifiers(Notifiers),
             exit(Parent, {unknown_message, Else})
     end.
diff --git a/src/fabric_doc_open.erl b/src/fabric_doc_open.erl
index 76bdefd..1562fd8 100644
--- a/src/fabric_doc_open.erl
+++ b/src/fabric_doc_open.erl
@@ -120,7 +120,7 @@
         Ctx = #user_ctx{roles=[<<"_admin">>]},
         Opts = [replicated_changes, {user_ctx, Ctx}],
         Res = fabric:update_docs(DbName, Docs, Opts),
-        couch_log:log(notice, "read_repair ~s ~s ~p", [DbName, Id, Res]),
+        couch_log:notice("read_repair ~s ~s ~p", [DbName, Id, Res]),
         choose_reply(Docs);
     [] ->
         % Try hard to return some sort of information
diff --git a/src/fabric_doc_open_revs.erl b/src/fabric_doc_open_revs.erl
index 0165d9c..38f69b9 100644
--- a/src/fabric_doc_open_revs.erl
+++ b/src/fabric_doc_open_revs.erl
@@ -167,7 +167,7 @@
     [#doc{id=Id} | _] = Docs,
     Ctx = #user_ctx{roles=[<<"_admin">>]},
     Res = fabric:update_docs(Db, Docs, [replicated_changes, {user_ctx,Ctx}]),
-    couch_log:log(notice, "read_repair ~s ~s ~p", [Db, Id, Res]).
+    couch_log:notice("read_repair ~s ~s ~p", [Db, Id, Res]).
 
 % hackery required so that not_found sorts first
 strip_not_found_missing([]) ->
diff --git a/src/fabric_doc_update.erl b/src/fabric_doc_update.erl
index 98982b7..8ec12ac 100644
--- a/src/fabric_doc_update.erl
+++ b/src/fabric_doc_update.erl
@@ -96,7 +96,7 @@
     {true, Reply} ->
         {Health, W, [{Doc,Reply} | Acc]};
     false ->
-        couch_log:log(warn, "write quorum (~p) failed for ~s", [W, Doc#doc.id]),
+        couch_log:warning("write quorum (~p) failed for ~s", [W, Doc#doc.id]),
         case [Reply || {ok, Reply} <- Replies] of
         [] ->
             % check if all errors are identical, if so inherit health
diff --git a/src/fabric_rpc.erl b/src/fabric_rpc.erl
index d3ccdc5..3f4f8d2 100644
--- a/src/fabric_rpc.erl
+++ b/src/fabric_rpc.erl
@@ -289,7 +289,7 @@
         catch Exception ->
             Exception;
         error:Reason ->
-            couch_log:log(error, "rpc ~p:~p/~p ~p ~p", [M, F, length(A)+1, Reason,
+            couch_log:error("rpc ~p:~p/~p ~p ~p", [M, F, length(A)+1, Reason,
                 clean_stack()]),
             {error, Reason}
         end);
@@ -300,7 +300,7 @@
 get_or_create_db(DbName, Options) ->
     case couch_db:open_int(DbName, Options) of
     {not_found, no_db_file} ->
-        couch_log:log(warn, "~p creating ~s", [?MODULE, DbName]),
+        couch_log:warning("~p creating ~s", [?MODULE, DbName]),
         couch_server:create(DbName, Options);
     Else ->
         Else
diff --git a/src/fabric_view.erl b/src/fabric_view.erl
index 57d631e..d0c6e45 100644
--- a/src/fabric_view.erl
+++ b/src/fabric_view.erl
@@ -254,7 +254,7 @@
     fun(A,A) -> true; (A,B) -> couch_view:less_json(B,A) end.
 
 extract_view(Pid, ViewName, [], _ViewType) ->
-    couch_log:log(error, "missing_named_view ~p", [ViewName]),
+    couch_log:error("missing_named_view ~p", [ViewName]),
     exit(Pid, kill),
     exit(missing_named_view);
 extract_view(Pid, ViewName, [View|Rest], ViewType) ->