Current section
27 Versions
Jump to
Current section
27 Versions
Compare versions
3
files changed
+28
additions
-22
deletions
| @@ -19,4 +19,4 @@ | |
| 19 19 | {<<"optional">>,false}, |
| 20 20 | {<<"repository">>,<<"hexpm">>}, |
| 21 21 | {<<"requirement">>,<<"~> 1.0">>}]]}. |
| 22 | - {<<"version">>,<<"0.4.1">>}. |
| 22 | + {<<"version">>,<<"0.4.2">>}. |
| @@ -105,11 +105,9 @@ defmodule Ecto.DevLogger do | |
| 105 105 | <<_prefix::utf8, index::binary>> = replacement -> |
| 106 106 | case Map.fetch(params_by_index, String.to_integer(index)) do |
| 107 107 | {:ok, value} -> |
| 108 | - [ |
| 109 | - IO.ANSI.color(0, 2, 3), |
| 110 | - stringify_ecto_params(value, :root), |
| 111 | - apply(IO.ANSI, return_to_color, []) |
| 112 | - ] |
| 108 | + value |
| 109 | + |> stringify_ecto_params(:root) |
| 110 | + |> colorize(IO.ANSI.color(0, 2, 3), apply(IO.ANSI, return_to_color, [])) |
| 113 111 | |
| 114 112 | :error -> |
| 115 113 | replacement |
| @@ -129,11 +127,9 @@ defmodule Ecto.DevLogger do | |
| 129 127 | formatted_value = |
| 130 128 | case Map.fetch(params_by_index, index) do |
| 131 129 | {:ok, value} -> |
| 132 | - [ |
| 133 | - IO.ANSI.color(0, 2, 3), |
| 134 | - stringify_ecto_params(value, :root), |
| 135 | - apply(IO.ANSI, return_to_color, []) |
| 136 | - ] |
| 130 | + value |
| 131 | + |> stringify_ecto_params(:root) |
| 132 | + |> colorize(IO.ANSI.color(0, 2, 3), apply(IO.ANSI, return_to_color, [])) |
| 137 133 | |
| 138 134 | :error -> |
| 139 135 | [] |
| @@ -170,7 +166,7 @@ defmodule Ecto.DevLogger do | |
| 170 166 | defp log_repo(repo, color, config) do |
| 171 167 | Keyword.get(config, :log_repo_name, false) |
| 172 168 | |> case do |
| 173 | - true -> [" repo=", IO.ANSI.blue(), inspect(repo), apply(IO.ANSI, color, [])] |
| 169 | + true -> [" repo=", colorize(inspect(repo), IO.ANSI.blue(), apply(IO.ANSI, color, []))] |
| 174 170 | _ -> "" |
| 175 171 | end |
| 176 172 | end |
| @@ -178,7 +174,7 @@ defmodule Ecto.DevLogger do | |
| 178 174 | defp log_ok_source(nil, _color), do: "" |
| 179 175 | |
| 180 176 | defp log_ok_source(source, color), |
| 181 | - do: [" source=", IO.ANSI.blue(), inspect(source), apply(IO.ANSI, color, [])] |
| 177 | + do: [" source=", colorize(inspect(source), IO.ANSI.blue(), apply(IO.ANSI, color, []))] |
| 182 178 | |
| 183 179 | defp log_time(label, measurements, key, force, color) do |
| 184 180 | case measurements do |
| @@ -191,7 +187,7 @@ defmodule Ecto.DevLogger do | |
| 191 187 | |
| 192 188 | case duration_color(ms) do |
| 193 189 | nil -> line |
| 194 | - duration_color -> [duration_color, line, apply(IO.ANSI, color, [])] |
| 190 | + duration_color -> colorize(line, duration_color, apply(IO.ANSI, color, [])) |
| 195 191 | end |
| 196 192 | else |
| 197 193 | [] |
| @@ -204,13 +200,15 @@ defmodule Ecto.DevLogger do | |
| 204 200 | |
| 205 201 | @colorize_step 25 |
| 206 202 | defp duration_color(duration) do |
| 207 | - # don't colorize if duration < @colorize_step |
| 208 | - duration = duration - @colorize_step |
| 203 | + if IO.ANSI.enabled?() do |
| 204 | + # don't colorize if duration < @colorize_step |
| 205 | + duration = duration - @colorize_step |
| 209 206 | |
| 210 | - if duration > 0 do |
| 211 | - # then every @colorize_step ms apply color from RGB(5, 5, 0) to RGB(5, 0, 0) (simple gradient from yellow to red) |
| 212 | - green = 5 - min(div(floor(duration), @colorize_step), 5) |
| 213 | - IO.ANSI.color(5, green, 0) |
| 207 | + if duration > 0 do |
| 208 | + # then every @colorize_step ms apply color from RGB(5, 5, 0) to RGB(5, 0, 0) (simple gradient from yellow to red) |
| 209 | + green = 5 - min(div(floor(duration), @colorize_step), 5) |
| 210 | + IO.ANSI.color(5, green, 0) |
| 211 | + end |
| 214 212 | end |
| 215 213 | end |
| 216 214 | |
| @@ -224,6 +222,14 @@ defmodule Ecto.DevLogger do | |
| 224 222 | defp sql_color("commit" <> _), do: :magenta |
| 225 223 | defp sql_color(_), do: :default_color |
| 226 224 | |
| 225 | + defp colorize(term, color, return_to_color) do |
| 226 | + if IO.ANSI.enabled?() do |
| 227 | + [color, term, return_to_color] |
| 228 | + else |
| 229 | + term |
| 230 | + end |
| 231 | + end |
| 232 | + |
| 227 233 | defp stringify_ecto_params(nil, _level), do: "NULL" |
| 228 234 | |
| 229 235 | defp stringify_ecto_params(binding, _level) |
| @@ -317,7 +323,7 @@ defmodule Ecto.DevLogger do | |
| 317 323 | with [_ | _] <- stacktrace, |
| 318 324 | {module, function, arity, info} <- last_non_ecto(Enum.reverse(stacktrace), repo, nil) do |
| 319 325 | [ |
| 320 | - IO.ANSI.light_black(), |
| 326 | + if(IO.ANSI.enabled?(), do: IO.ANSI.light_black(), else: ""), |
| 321 327 | ?\n, |
| 322 328 | "↳ ", |
| 323 329 | Exception.format_mfa(module, function, arity), |
| @@ -1,6 +1,6 @@ | |
| 1 1 | defmodule Ecto.DevLogger.MixProject do |
| 2 2 | use Mix.Project |
| 3 | - @version "0.4.1" |
| 3 | + @version "0.4.2" |
| 4 4 | @source_url "https://github.com/fuelen/ecto_dev_logger" |
| 5 5 | |
| 6 6 | def project do |