class Logger

Public Instance Methods

add(severity, message = nil, progname = nil) { || ... } click to toggle source
# File lib/tcell_agent/rails/dlp.rb, line 376
def add(severity, message = nil, progname = nil)
  return tcell_old_add(severity, message, progname) unless severity >= level

  if severity >= level
    progname ||= @progname
    if message.nil?
      if block_given?
        message = yield
      else
        message = progname
        progname = @progname
      end
    end

    if TCellAgent.configuration.enabled &&
       TCellAgent.configuration.should_instrument? &&
       TCellAgent.configuration.should_intercept_requests?

      TCellAgent::Instrumentation.safe_block_no_log('Handling DLP log message filtering') do
        dataloss_policy = TCellAgent.policy(TCellAgent::PolicyTypes::DATALOSS)
        return tcell_old_add(severity, message, progname) unless dataloss_policy && dataloss_policy.enabled

        request_env = TCellAgent::Instrumentation::Rails::Middleware::ContextMiddleware::THREADS.fetch(Thread.current.object_id, nil)

        if message && request_env
          tcell_context = request_env[TCellAgent::Instrumentation::TCELL_ID]
          tcell_context.filter_log(message) if tcell_context
        end
      end
    end
  end

  tcell_old_add(severity, message, progname)
end
Also aliased as: tcell_old_add
tcell_old_add(severity, message = nil, progname = nil)
Alias for: add