Skip to content

Commit f20c017

Browse files
authored
Deprecate levelpad of Logger.Formatter (#11633)
1 parent 8da48af commit f20c017

File tree

7 files changed

+37
-41
lines changed

7 files changed

+37
-41
lines changed

lib/ex_unit/test/ex_unit/capture_log_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ defmodule ExUnit.CaptureLogTest do
7272
end)
7373

7474
assert logged
75-
assert logged =~ "[info] one\n"
75+
assert logged =~ "[info] one\n"
7676
assert logged =~ "[warning] two\n"
7777
assert logged =~ "[debug] three\n"
7878
assert logged =~ "[error] one\n"

lib/logger/lib/logger/backends/console.ex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ defmodule Logger.Backends.Console do
99
`:level` configuration for the `:logger` application first.
1010
1111
* `:format` - the format message used to print logs.
12-
Defaults to: `"\n$time $metadata[$level] $levelpad$message\n"`.
12+
Defaults to: `"\n$time $metadata[$level] $message\n"`.
1313
It may also be a `{module, function}` tuple that is invoked
1414
with the log level, the message, the current timestamp and
1515
the metadata.
@@ -48,7 +48,7 @@ defmodule Logger.Backends.Console do
4848
`config/config.exs` file:
4949
5050
config :logger, :console,
51-
format: "\n$time $metadata[$level] $levelpad$message\n",
51+
format: "\n$time $metadata[$level] $message\n",
5252
metadata: [:user_id]
5353
5454
## Custom formatting

lib/logger/lib/logger/formatter.ex

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ defmodule Logger.Formatter do
2121
* `$level` - the log level
2222
* `$node` - the node that prints the message
2323
* `$metadata` - user controlled data presented in `"key=val key2=val2 "` format
24-
* `$levelpad` - sets to a single space if level is 4 characters long,
25-
otherwise set to the empty space. Used to align the message after level.
2624
2725
Backends typically allow developers to supply such control
2826
strings via configuration files. This module provides `compile/1`,
@@ -43,7 +41,7 @@ defmodule Logger.Formatter do
4341
@type time :: {{1970..10000, 1..12, 1..31}, {0..23, 0..59, 0..59, 0..999}}
4442
@type pattern :: :date | :level | :levelpad | :message | :metadata | :node | :time
4543
@valid_patterns [:time, :date, :message, :level, :node, :metadata, :levelpad]
46-
@default_pattern "\n$time $metadata[$level] $levelpad$message\n"
44+
@default_pattern "\n$time $metadata[$level] $message\n"
4745
@replacement "�"
4846

4947
@doc """
@@ -99,6 +97,11 @@ defmodule Logger.Formatter do
9997
end
10098
end
10199

100+
defp compile_code(:levelpad) do
101+
IO.warn("$levelpad in Logger message format is deprecated, please remove it")
102+
:levelpad
103+
end
104+
102105
defp compile_code(key) when key in @valid_patterns, do: key
103106

104107
defp compile_code(key) when is_atom(key) do
@@ -163,7 +166,6 @@ defmodule Logger.Formatter do
163166
defp output(:levelpad, level, _, _, _), do: levelpad(level)
164167
defp output(other, _, _, _, _), do: other
165168

166-
# TODO: Deprecate me on Elixir v1.13+ or later
167169
defp levelpad(:info), do: " "
168170
defp levelpad(:warn), do: " "
169171
defp levelpad(_), do: ""

lib/logger/test/logger/formatter_test.exs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ defmodule Logger.FormatterTest do
2020

2121
test "compile/1 with nil" do
2222
assert compile(nil) ==
23-
["\n", :time, " ", :metadata, "[", :level, "] ", :levelpad, :message, "\n"]
23+
["\n", :time, " ", :metadata, "[", :level, "] ", :message, "\n"]
2424
end
2525

2626
test "compile/1 with str" do
@@ -90,12 +90,6 @@ defmodule Logger.FormatterTest do
9090
[["foo", 61, "bar", 32], " ", "hello"]
9191
end
9292

93-
test "padding takes account of length of level" do
94-
compiled = compile("[$level] $levelpad $message")
95-
assert format(compiled, :error, "hello", nil, []) == ["[", "error", "] ", "", " ", "hello"]
96-
assert format(compiled, :info, "hello", nil, []) == ["[", "info", "] ", " ", " ", "hello"]
97-
end
98-
9993
test "format_date/1" do
10094
date = {2015, 1, 30}
10195
assert format_date(date) == ["2015", ?-, [?0, "1"], ?-, "30"]

lib/logger/test/logger/handler_test.exs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,15 @@ defmodule Logger.HandlerTest do
5151

5252
assert capture_log(fn ->
5353
:logger.info('world: ~p', [:ok])
54-
end) =~ "[info] rewritten"
54+
end) =~ "[info] rewritten"
5555

5656
assert capture_log(fn ->
5757
:logger.info(%{hello: :ok})
5858
end) == ""
5959

6060
assert capture_log(fn ->
6161
:logger.info(%{world: :ok})
62-
end) =~ "[info] rewritten"
62+
end) =~ "[info] rewritten"
6363
after
6464
assert Logger.remove_translator({CustomTranslator, :t})
6565
end
@@ -68,7 +68,7 @@ defmodule Logger.HandlerTest do
6868
assert Logger.add_translator({CustomTranslator, :t})
6969

7070
message = capture_log(fn -> :logger.info(%{error: "oops"}) end)
71-
assert message =~ "[info] Failure while translating Erlang's logger event\n"
71+
assert message =~ "[info] Failure while translating Erlang's logger event\n"
7272
assert message =~ "** (RuntimeError) oops\n"
7373
after
7474
assert Logger.remove_translator({CustomTranslator, :t})
@@ -94,7 +94,7 @@ defmodule Logger.HandlerTest do
9494
assert capture_log(fn ->
9595
callback = fn %{hello: :world} -> {"~p~n", [:formatted]} end
9696
:logger.info(%{hello: :world}, %{report_cb: callback})
97-
end) =~ "[info] :formatted"
97+
end) =~ "[info] :formatted"
9898
end
9999

100100
test "uses Erlang log levels" do
@@ -104,7 +104,7 @@ defmodule Logger.HandlerTest do
104104
assert capture_log(fn -> :logger.error('ok') end) =~ "[error] ok"
105105
assert capture_log(fn -> :logger.warning('ok') end) =~ "[warning] ok"
106106
assert capture_log(fn -> :logger.notice('ok') end) =~ "[notice] ok"
107-
assert capture_log(fn -> :logger.info('ok') end) =~ "[info] ok"
107+
assert capture_log(fn -> :logger.info('ok') end) =~ "[info] ok"
108108
assert capture_log(fn -> :logger.debug('ok') end) =~ "[debug] ok"
109109
end
110110

lib/logger/test/logger/translator_test.exs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -713,7 +713,7 @@ defmodule Logger.TranslatorTest do
713713
Process.exit(pid, :normal)
714714
receive do: ({:DOWN, ^ref, _, _, _} -> :ok)
715715
end) =~ ~r"""
716-
\[info\] Child Task of Supervisor #PID<\d+\.\d+\.\d+> \(Supervisor\.Default\) started
716+
\[info\] Child Task of Supervisor #PID<\d+\.\d+\.\d+> \(Supervisor\.Default\) started
717717
Pid: #PID<\d+\.\d+\.\d+>
718718
Start Call: Task.start_link\(Logger.TranslatorTest, :sleep, \[#PID<\d+\.\d+\.\d+>\]\)
719719
"""
@@ -728,7 +728,7 @@ defmodule Logger.TranslatorTest do
728728
Process.exit(pid, :normal)
729729
receive do: ({:DOWN, ^ref, _, _, _} -> :ok)
730730
end) =~ ~r"""
731-
\[info\] Child Task of Supervisor Logger.TranslatorTest started
731+
\[info\] Child Task of Supervisor Logger.TranslatorTest started
732732
"""
733733

734734
{:ok, pid} = Supervisor.start_link([], strategy: :one_for_one, name: {:global, __MODULE__})
@@ -739,7 +739,7 @@ defmodule Logger.TranslatorTest do
739739
Process.exit(pid, :normal)
740740
receive do: ({:DOWN, ^ref, _, _, _} -> :ok)
741741
end) =~ ~r"""
742-
\[info\] Child Task of Supervisor Logger.TranslatorTest started
742+
\[info\] Child Task of Supervisor Logger.TranslatorTest started
743743
"""
744744

745745
{:ok, pid} =
@@ -751,7 +751,7 @@ defmodule Logger.TranslatorTest do
751751
Process.exit(pid, :normal)
752752
receive do: ({:DOWN, ^ref, _, _, _} -> :ok)
753753
end) =~ ~r"""
754-
\[info\] Child Task of Supervisor Logger.TranslatorTest started
754+
\[info\] Child Task of Supervisor Logger.TranslatorTest started
755755
"""
756756
end
757757

@@ -960,7 +960,7 @@ defmodule Logger.TranslatorTest do
960960
receive do: ({:EXIT, ^pid, _} -> :ok)
961961
Process.flag(:trap_exit, trap)
962962
end) =~ ~r"""
963-
\[info\] Child of Supervisor #PID<\d+\.\d+\.\d+> \(Logger\.TranslatorTest\.MyBridge\) started
963+
\[info\] Child of Supervisor #PID<\d+\.\d+\.\d+> \(Logger\.TranslatorTest\.MyBridge\) started
964964
Pid: #PID<\d+\.\d+\.\d+>
965965
Start Call: Logger.TranslatorTest.MyBridge.init\(:normal\)
966966
"""

lib/logger/test/logger_test.exs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -270,15 +270,15 @@ defmodule LoggerTest do
270270

271271
assert capture_log(fn ->
272272
assert Logger.bare_log(:info, "ok", application: nil, module: LoggerTest) == :ok
273-
end) =~ msg("module=LoggerTest [info] ok")
273+
end) =~ msg("module=LoggerTest [info] ok")
274274
end
275275

276276
test "metadata compile-time merge" do
277277
assert Logger.metadata(module: Sample) == :ok
278278

279279
assert capture_log(fn ->
280280
assert Logger.log(:info, "ok", application: nil, module: CustomTest) == :ok
281-
end) =~ msg("module=CustomTest [info] ok")
281+
end) =~ msg("module=CustomTest [info] ok")
282282
end
283283

284284
test "metadata merge when the argument function returns metadata" do
@@ -288,7 +288,7 @@ defmodule LoggerTest do
288288

289289
assert capture_log(fn ->
290290
assert Logger.bare_log(:info, fun, application: nil, module: LoggerTest) == :ok
291-
end) =~ msg("module=Function [info] ok")
291+
end) =~ msg("module=Function [info] ok")
292292
end
293293

294294
describe "log with function" do
@@ -297,15 +297,15 @@ defmodule LoggerTest do
297297

298298
assert capture_log(fn ->
299299
assert Logger.bare_log(:info, fun, application: nil, module: FunctionTest) == :ok
300-
end) =~ msg("module=FunctionTest [info] ok:example")
300+
end) =~ msg("module=FunctionTest [info] ok:example")
301301
end
302302

303303
test "supports binaries" do
304304
fun = fn -> "ok:example" end
305305

306306
assert capture_log(fn ->
307307
assert Logger.bare_log(:info, fun, application: nil, module: FunctionTest) == :ok
308-
end) =~ msg("module=FunctionTest [info] ok:example")
308+
end) =~ msg("module=FunctionTest [info] ok:example")
309309
end
310310
end
311311

@@ -314,41 +314,41 @@ defmodule LoggerTest do
314314
assert capture_log(fn ->
315315
assert Logger.bare_log(:info, %{foo: 10}, application: nil, module: FunctionTest) ==
316316
:ok
317-
end) =~ msg("module=FunctionTest [info] [foo: 10]")
317+
end) =~ msg("module=FunctionTest [info] [foo: 10]")
318318
end
319319

320320
test "supports keyword" do
321321
assert capture_log(fn ->
322322
assert Logger.bare_log(:info, foo: 10) == :ok
323-
end) =~ msg("[info] [foo: 10]")
323+
end) =~ msg("[info] [foo: 10]")
324324
end
325325

326326
test "supports custom report_cb" do
327327
report_cb = fn %{foo: foo} -> {"Foo is ~B", [foo]} end
328328

329329
assert capture_log(fn ->
330330
assert Logger.bare_log(:info, %{foo: 10}, report_cb: report_cb) == :ok
331-
end) =~ msg("[info] Foo is 10")
331+
end) =~ msg("[info] Foo is 10")
332332

333333
report_cb = fn %{foo: foo}, _opts -> "Foo is #{foo}" end
334334

335335
assert capture_log(fn ->
336336
assert Logger.bare_log(:info, %{foo: 20}, report_cb: report_cb) == :ok
337-
end) =~ msg("[info] Foo is 20")
337+
end) =~ msg("[info] Foo is 20")
338338
end
339339

340340
test "support function that return report" do
341341
assert capture_log(fn ->
342342
assert Logger.bare_log(:info, fn -> %{foo: 10} end) == :ok
343-
end) =~ msg("[info] [foo: 10]")
343+
end) =~ msg("[info] [foo: 10]")
344344

345345
assert capture_log(fn ->
346346
assert Logger.bare_log(:info, fn -> {%{foo: 10}, []} end) == :ok
347-
end) =~ msg("[info] [foo: 10]")
347+
end) =~ msg("[info] [foo: 10]")
348348

349349
assert capture_log(fn ->
350350
assert Logger.bare_log(:info, fn -> {[foo: 10], []} end) == :ok
351-
end) =~ msg("[info] [foo: 10]")
351+
end) =~ msg("[info] [foo: 10]")
352352
end
353353
end
354354

@@ -437,7 +437,7 @@ defmodule LoggerTest do
437437
test "info/2" do
438438
assert capture_log(fn ->
439439
assert Logger.info("hello", []) == :ok
440-
end) =~ msg_with_meta("[info] hello")
440+
end) =~ msg_with_meta("[info] hello")
441441

442442
assert capture_log(:notice, fn ->
443443
assert Logger.info("hello", []) == :ok
@@ -598,7 +598,7 @@ defmodule LoggerTest do
598598

599599
assert capture_log(fn ->
600600
assert SampleNoApp.info() == :ok
601-
end) =~ msg("module=LoggerTest.SampleNoApp [info] hello")
601+
end) =~ msg("module=LoggerTest.SampleNoApp [info] hello")
602602

603603
Logger.configure(compile_time_application: :sample_app)
604604

@@ -610,7 +610,7 @@ defmodule LoggerTest do
610610

611611
assert capture_log(fn ->
612612
assert SampleApp.info() == :ok
613-
end) =~ msg("application=sample_app module=LoggerTest.SampleApp [info] hello")
613+
end) =~ msg("application=sample_app module=LoggerTest.SampleApp [info] hello")
614614
after
615615
Logger.configure(compile_time_application: nil)
616616
end
@@ -721,8 +721,8 @@ defmodule LoggerTest do
721721
Logger.flush()
722722
end)
723723

724-
assert log =~ ~r"\[warn\] Attempted to log \d+ messages, which is above :discard_threshold"
725-
assert log =~ ~r"\[warn\] Attempted to log \d+ messages, which is below :discard_threshold"
724+
assert log =~ ~r"\[warn\] Attempted to log \d+ messages, which is above :discard_threshold"
725+
assert log =~ ~r"\[warn\] Attempted to log \d+ messages, which is below :discard_threshold"
726726
after
727727
:sys.resume(Logger)
728728
assert :ok = Logger.configure(discard_threshold: 500)

0 commit comments

Comments
 (0)