metaclass: (Default)
[personal profile] metaclass
А вот почему ни в одном имеющемся под руками языке программирования нет функции "компилятор сам подставляет в вызов логгера имя функции, из которой его вызвали"?
Я понимаю, в log4net я могу подключить вывод фреймов стека, прямо в конфиге, но они достаточно знатно все тормозят в рантайме, а так бы на этапе компиляции подставлять имена функций в виде строковых констант.
В препроцессорах C и C++ есть __LINE__ и __FILE__, а больше я ничего подходящего вроде и не видел.

Date: 2012-08-28 11:51 am (UTC)
From: [identity profile] zerthurd.livejournal.com
В Erlang точно нет (http://www.erlang.org/doc/reference_manual/macros.html)

Date: 2012-08-28 12:48 pm (UTC)
From: [identity profile] potan.livejournal.com

-module(f).
-export([start/0]).

start() ->
        io:write([?FILE, ?LINE]).

Date: 2012-08-28 04:59 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
И где там пишется имя функции?

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 22nd, 2025 02:37 pm
Powered by Dreamwidth Studios