Skip to content

Commit 674d484

Browse files
RT 4753 - Display the logs in console (#35)
* RT-4753 - Fix bug lets display the logs in console and also in development.log file Co-authored-by: Arman Ortega <aortega@stackify.com>
1 parent 8ac5dab commit 674d484

File tree

5 files changed

+30
-7
lines changed

5 files changed

+30
-7
lines changed

lib/stackify-api-ruby.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ def internal_log level, msg
120120

121121
def run
122122
Stackify::Utils.is_api_enabled
123-
Stackify.internal_log :info, "Stackify.run() transportType = #{Stackify.configuration.transport} | API version: #{Stackify::VERSION}"
123+
Stackify.internal_log :info, "Stackify.run() transportType: #{Stackify.configuration.transport} | API version: #{Stackify::VERSION} | Ruby version: #{RUBY_VERSION}"
124124
if Stackify.configuration.api_enabled
125125
if Stackify.is_valid?
126126
# check transport types

lib/stackify/authorization/authorizable.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@ module ClassMethods
1111
@@auth_client = nil
1212

1313
def authorize attempts=3
14-
Stackify::EnvDetails.instance.set_rails_info
14+
# Check if the ruby version is 2.0 we get the Rails info properties such as
15+
# <Application root: e.g., /home/user/rails_app> which is required in authorization
16+
if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new('2.0')
17+
Stackify::EnvDetails.instance.set_rails_info
18+
end
1519
@@auth_lock.synchronize do
1620
return unless @@auth_client.nil?
1721
@@auth_client = Stackify::Authorizable::AuthorizationClient.new

lib/stackify/logger_client.rb

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,16 @@ def initialize
1212
end
1313
end
1414

15-
def log level, msg, call_trace
15+
# This function is responsible in displaying log messages based on the level criteria
16+
# @param num_level [Integer] level of the clients Rails.logger
17+
# @param level [String] level coming from array of levels(debug info warn error fatal unknown) that we are going to filter with num_level
18+
# So we filter all logs from num_level up to this level
19+
# @param msg [Integer] log messages
20+
# @param call_trace [Object] return the current execution stack
21+
def log num_level, level, msg, call_trace
22+
if num_level <= Logger.const_get(level.upcase).to_i
23+
puts msg
24+
end
1625
return if @@transport.nil?
1726
task = log_message_task level, msg, call_trace
1827
@@transport.log level, msg, call_trace, task

lib/stackify/logger_proxy.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1+
12
module Stackify
23
class LoggerProxy < Object
34

45
def initialize logger
5-
@logger = logger
6-
@logger.level = Logger.const_get(Stackify.configuration.log_level.to_s.upcase)
6+
rails_logger = logger
7+
num_level = logger.level
8+
@logger = rails_logger
79
%w(debug info warn error fatal unknown).each do |level|
810
stackify_logger = if level == 'debug'
9-
-> (msg, caller) { Stackify.logger_client.log(level.downcase, msg, caller) unless msg.to_s.empty? }
11+
-> (msg, caller) { Stackify.logger_client.log(num_level, level.downcase, msg, caller) unless msg.to_s.empty? }
1012
else
11-
-> (msg, caller) { Stackify.logger_client.log(level.downcase, msg, caller) }
13+
-> (msg, caller) { Stackify.logger_client.log(num_level, level.downcase, msg, caller) }
1214
end
1315
LoggerProxy.class_eval do
1416
define_method level.to_sym do |*args , &block|

lib/stackify/workers/logs_sender_worker.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@ class LogsSenderWorker < Worker
33

44
def initialize name = 'LogsSender worker'
55
super
6+
case Stackify.configuration.transport
7+
when Stackify::DEFAULT
8+
name = 'LogsSender worker'
9+
when Stackify::UNIX_SOCKET
10+
name = 'UnixSocketSender worker'
11+
when Stackify::AGENT_HTTP
12+
name = 'AgentHTTPSender worker'
13+
end
614
@name = name
715
@name += " ##{self.id}"
816
@type = :logs_send

0 commit comments

Comments
 (0)