Switch to couch_log
diff --git a/include/couch_db_tmp.hrl b/include/couch_db_tmp.hrl
index 96f3a2f..3a8e9d7 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), twig:log(debug, Format, Args)).
--define(LOG_INFO(Format, Args), twig:log(notice, Format, Args)).
--define(LOG_ERROR(Format, Args), twig:log(error, Format, Args)).
+-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)).
 
 -record(rev_info,
     {
diff --git a/src/fabric.app.src b/src/fabric.app.src
index 5ac86ef..f18fcc3 100644
--- a/src/fabric.app.src
+++ b/src/fabric.app.src
@@ -44,6 +44,6 @@
         couch,
         rexi,
         mem3,
-        twig
+        couch_log
     ]}
 ]}.
diff --git a/src/fabric_db_delete.erl b/src/fabric_db_delete.erl
index 934f95b..ff81d19 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),
-            twig:log(warn, "~p not_found ~s", [?MODULE, Name]),
+            couch_log:log(warn, "~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 78a3952..662e2d3 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},
-    twig:log(err, "Failed to set security object on ~p :: ~p", [Dst, Error]),
+    couch_log:log(err, "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},
-    twig:log(err, "Failed to get security object on ~p :: ~p", [Dst, Error]),
+    couch_log:log(err, "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 28e5972..190c582 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 ->
-            twig:log(error, "Unkown message in ~w :: ~w", [?MODULE, Else]),
+            couch_log: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 caa389e..76bdefd 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),
-        twig:log(notice, "read_repair ~s ~s ~p", [DbName, Id, Res]),
+        couch_log: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 398a675..0165d9c 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}]),
-    twig:log(notice, "read_repair ~s ~s ~p", [Db, Id, Res]).
+    couch_log: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 50c244c..98982b7 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 ->
-        twig:log(warn, "write quorum (~p) failed for ~s", [W, Doc#doc.id]),
+        couch_log:log(warn, "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 afcf0e5..d3ccdc5 100644
--- a/src/fabric_rpc.erl
+++ b/src/fabric_rpc.erl
@@ -289,7 +289,7 @@
         catch Exception ->
             Exception;
         error:Reason ->
-            twig:log(error, "rpc ~p:~p/~p ~p ~p", [M, F, length(A)+1, Reason,
+            couch_log: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} ->
-        twig:log(warn, "~p creating ~s", [?MODULE, DbName]),
+        couch_log:log(warn, "~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 942231f..57d631e 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) ->
-    twig:log(error, "missing_named_view ~p", [ViewName]),
+    couch_log:log(error, "missing_named_view ~p", [ViewName]),
     exit(Pid, kill),
     exit(missing_named_view);
 extract_view(Pid, ViewName, [View|Rest], ViewType) ->