le 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/LE.gemspec +1 -1
 - data/README.md +40 -1
 - data/lib/le.rb +28 -11
 - data/lib/le/host.rb +4 -2
 - data/lib/le/host/http.rb +93 -19
 - data/test/host_spec.rb +6 -1
 - data/test/http_spec.rb +11 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8106a0e740c344c588e5bfb06acb2d55af4d5437
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 2b9b1ca54e831725a66901b1b08f5b88892dbcd5
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a013042da9ae780192a3f2808eff3343f0a5072cf2831b79432b1375098903eef6fee9a5da6d27e644ecbcaaa27b036e5e2a79b0bae1334c876623276c295c17
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: d5346caa17e4911bbac88de74352dff4eb82781bec50f6410f48cc452824cd1935188c39427132b92fa61184e42c9450cd6203577d202982eb089a5600c8ef03
         
     | 
    
        data/LE.gemspec
    CHANGED
    
    
    
        data/README.md
    CHANGED
    
    | 
         @@ -41,7 +41,8 @@ Then from the cmd line run the following command: 
     | 
|
| 
       41 
41 
     | 
    
         
             
            This will install the gem on your local environment.
         
     | 
| 
       42 
42 
     | 
    
         | 
| 
       43 
43 
     | 
    
         
             
            The next step is to configure the default rails logger to use the logentries
         
     | 
| 
       44 
     | 
    
         
            -
            logger.
         
     | 
| 
      
 44 
     | 
    
         
            +
            logger.  
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
       45 
46 
     | 
    
         | 
| 
       46 
47 
     | 
    
         
             
            In your environment configuration file ( for production : `config/environments/production.rb`), add the following:
         
     | 
| 
       47 
48 
     | 
    
         | 
| 
         @@ -74,4 +75,42 @@ You can also specify the default level of the logger by adding a : 
     | 
|
| 
       74 
75 
     | 
    
         | 
| 
       75 
76 
     | 
    
         
             
            For the `LOGENTRIES_TOKEN` argument, paste the token for the logfile you created earlier in the Logentries UI.
         
     | 
| 
       76 
77 
     | 
    
         | 
| 
      
 78 
     | 
    
         
            +
             
     | 
| 
      
 79 
     | 
    
         
            +
            Step for setting up DataHub 
         
     | 
| 
      
 80 
     | 
    
         
            +
            ---------------------------
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
            **datahub_endpoint - User Defined Array**
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            datahub_endpoint = Array ["127.0.0.1", "10000"]  
         
     | 
| 
      
 85 
     | 
    
         
            +
            datahub_endpoint is a user defined variable array for a datahub_endpoint
         
     | 
| 
      
 86 
     | 
    
         
            +
            The 1st parameter is a String which is the DataHub Instance's IP Address.  Entering ANY value in this field will disable your Token-based
         
     | 
| 
      
 87 
     | 
    
         
            +
            logging, set your Token to "" and will direct all log events to your specified DataHub IP Address.
         
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
            The 2nd parameter is a String which is the DataHub Port value, default is 10000 but this can be changed on your DataHub Machine.
         
     | 
| 
      
 90 
     | 
    
         
            +
            This port number must be set, on your DataHub Machine's leproxy settings your /etc/leproxy/leproxyLocal.config file.  It's default is 10000
         
     | 
| 
      
 91 
     | 
    
         
            +
            NOTE: if datahub_endpoint has been assigned an IP address and SSL = true, your server will fail gracefully.
         
     | 
| 
      
 92 
     | 
    
         
            +
            When using Datahub do not enable SSL = true  
         
     | 
| 
      
 93 
     | 
    
         
            +
             
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
            **host_id**
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
            host_id = "abc1234"  
         
     | 
| 
      
 98 
     | 
    
         
            +
            Enter_host_id inside the quotation marks.  Leaving this empty leave the host_id empty and thus not appear in your log events.
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
            **custom_host_name - User Defined Array**
         
     | 
| 
      
 102 
     | 
    
         
            +
             
     | 
| 
      
 103 
     | 
    
         
            +
            custom_host = Array[ true, "mikes_app_server"]         
         
     | 
| 
      
 104 
     | 
    
         
            +
            The 1st parameter is a Boolean value to use the custom host name.
         
     | 
| 
      
 105 
     | 
    
         
            +
            The 2nd parameter is a String which is the custom_host_name you'd like to assign.  
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
            If the 2nd parameter is left as in custom_host = Array[ true, ""] the code will attempt to get your host machine's name using the socket.gethostname method.
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
             
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
            Using the above user defined variable settings, you can now also specify the several of the optional arguments for the logger constructor by adding:
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
                Rails.logger = Le.new(token, :ssl=>ssl, :datahub_endpoint=>datahub_endpoint, :host_id=>host_id, :custom_host=>custom_host)
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
       77 
116 
     | 
    
         
             
            Now, simply use `Rails.logger.info("message")` inside your code to send logs to Logentries
         
     | 
    
        data/lib/le.rb
    CHANGED
    
    | 
         @@ -6,15 +6,26 @@ module Le 
     | 
|
| 
       6 
6 
     | 
    
         | 
| 
       7 
7 
     | 
    
         
             
              def self.new(token, options={})
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
                 
     | 
| 
      
 9 
     | 
    
         
            +
                opt_local     = options[:local]                     || false
         
     | 
| 
      
 10 
     | 
    
         
            +
                opt_debug     = options[:debug]                     || false
         
     | 
| 
      
 11 
     | 
    
         
            +
                opt_ssl       = options[:ssl]                       || false
         
     | 
| 
      
 12 
     | 
    
         
            +
                opt_tag       = options[:tag]                       || false
         
     | 
| 
      
 13 
     | 
    
         
            +
                opt_log_level = options[:log_level]                 || Logger::DEBUG
         
     | 
| 
       10 
14 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
       13 
     | 
    
         
            -
                 
     | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
      
 15 
     | 
    
         
            +
                opt_datahub_enabled = options[:datahub_enabled]     || false
         
     | 
| 
      
 16 
     | 
    
         
            +
                opt_datahub_endpoint = options[:datahub_endpoint]   || ['', 10000]
         
     | 
| 
      
 17 
     | 
    
         
            +
                opt_datahub_ip = options[:datahub_ip]               || ''
         
     | 
| 
      
 18 
     | 
    
         
            +
                opt_datahub_port    = options[:datahub_port]        || 10000
         
     | 
| 
      
 19 
     | 
    
         
            +
                opt_host_id = options[:host_id] || ''
         
     | 
| 
      
 20 
     | 
    
         
            +
                opt_host_name_enabled = options[:host_name_enabled] || false
         
     | 
| 
      
 21 
     | 
    
         
            +
                opt_host_name = options[:host_name]                 || ''
         
     | 
| 
      
 22 
     | 
    
         
            +
                opt_custom_host = options[:custom_host]             || [false, '']
         
     | 
| 
      
 23 
     | 
    
         
            +
              
         
     | 
| 
       16 
24 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
      
 25 
     | 
    
         
            +
                self.checkParams(token, opt_datahub_enabled)
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                host = Le::Host.new(token, opt_local, opt_debug, opt_ssl, opt_datahub_endpoint, opt_host_id, opt_custom_host)
         
     | 
| 
       18 
29 
     | 
    
         | 
| 
       19 
30 
     | 
    
         
             
                if defined?(ActiveSupport::TaggedLogging) &&  opt_tag
         
     | 
| 
       20 
31 
     | 
    
         
             
                  logger = ActiveSupport::TaggedLogging.new(Logger.new(host))
         
     | 
| 
         @@ -31,10 +42,16 @@ module Le 
     | 
|
| 
       31 
42 
     | 
    
         
             
                logger
         
     | 
| 
       32 
43 
     | 
    
         
             
              end
         
     | 
| 
       33 
44 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
              def self.checkParams(token)
         
     | 
| 
      
 45 
     | 
    
         
            +
              def self.checkParams(token, opt_datahub_enabled)
         
     | 
| 
       35 
46 
     | 
    
         
             
                # Check if the key is valid UUID format
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
             
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                if (!opt_datahub_enabled)  # test Token only when DataHub is not enabled
         
     | 
| 
      
 49 
     | 
    
         
            +
                  if (token =~ /\A(urn:uuid:)?[\da-f]{8}-([\da-f]{4}-){3}[\da-f]{12}\z/i) == nil
         
     | 
| 
      
 50 
     | 
    
         
            +
                     puts "\nLE: It appears the LOGENTRIES_TOKEN you entered is invalid!\n"
         
     | 
| 
      
 51 
     | 
    
         
            +
                  else
         
     | 
| 
      
 52 
     | 
    
         
            +
                    (token="")
         
     | 
| 
      
 53 
     | 
    
         
            +
                 end
         
     | 
| 
      
 54 
     | 
    
         
            +
               end 
         
     | 
| 
       39 
55 
     | 
    
         
             
              end
         
     | 
| 
      
 56 
     | 
    
         
            +
             
     | 
| 
       40 
57 
     | 
    
         
             
            end
         
     | 
    
        data/lib/le/host.rb
    CHANGED
    
    | 
         @@ -1,8 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Le
         
     | 
| 
       2 
2 
     | 
    
         
             
              module Host
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
     | 
    
         
            -
                def self.new(token, local, debug, ssl)
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 4 
     | 
    
         
            +
            #!    def self.new(token, local, debug, ssl, datahub_enabled, datahub_ip, datahub_port, host_id, host_name_enabled, host_name)
         
     | 
| 
      
 5 
     | 
    
         
            +
                def self.new(token, local, debug, ssl, datahub_endpoint, host_id, custom_host)
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                  Le::Host::HTTP.new(token, local, debug, ssl, datahub_endpoint, host_id, custom_host)
         
     | 
| 
       6 
8 
     | 
    
         
             
                end
         
     | 
| 
       7 
9 
     | 
    
         | 
| 
       8 
10 
     | 
    
         
             
                module InstanceMethods
         
     | 
    
        data/lib/le/host/http.rb
    CHANGED
    
    | 
         @@ -7,7 +7,9 @@ module Le 
     | 
|
| 
       7 
7 
     | 
    
         
             
              module Host
         
     | 
| 
       8 
8 
     | 
    
         
             
                class HTTP
         
     | 
| 
       9 
9 
     | 
    
         
             
                  LIBRARY_IDENTIFIER = '###R01### - Library initialised'
         
     | 
| 
      
 10 
     | 
    
         
            +
            #      API_SERVER = 'api.logentries.com'
         
     | 
| 
       10 
11 
     | 
    
         
             
                  API_SERVER = 'api.logentries.com'
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
       11 
13 
     | 
    
         
             
                  API_PORT = 10000
         
     | 
| 
       12 
14 
     | 
    
         
             
                  API_SSL_PORT = 20000
         
     | 
| 
       13 
15 
     | 
    
         
             
                  API_CERT = '-----BEGIN CERTIFICATE-----
         
     | 
| 
         @@ -47,25 +49,79 @@ S5ol3bQmY1mv78XKkOk= 
     | 
|
| 
       47 
49 
     | 
    
         | 
| 
       48 
50 
     | 
    
         | 
| 
       49 
51 
     | 
    
         
             
                  include Le::Host::InstanceMethods
         
     | 
| 
       50 
     | 
    
         
            -
                  attr_accessor :token, :queue, :started, :thread, :conn, :local, :debug, :ssl
         
     | 
| 
      
 52 
     | 
    
         
            +
            #!      attr_accessor :token, :queue, :started, :thread, :conn, :local, :debug, :ssl, :datahub_enabled, :dathub_ip, :datahub_port, :host_id, :custom_host, :host_name_enabled, :host_name
         
     | 
| 
      
 53 
     | 
    
         
            +
                  attr_accessor :token, :queue, :started, :thread, :conn, :local, :debug, :ssl, :datahub_enabled, :datahub_ip, :datahub_port, :datahub_endpoint, :host_id, :host_name_enabled, :host_name, :custom_host
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
       51 
55 
     | 
    
         | 
| 
       52 
     | 
    
         
            -
                  def initialize(token, local, debug, ssl)
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
             
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
             
     | 
| 
      
 56 
     | 
    
         
            +
                  def initialize(token, local, debug, ssl, datahub_endpoint, host_id, custom_host)
         
     | 
| 
      
 57 
     | 
    
         
            +
                      if local
         
     | 
| 
      
 58 
     | 
    
         
            +
                        device = if local.class <= TrueClass
         
     | 
| 
      
 59 
     | 
    
         
            +
                          if defined?(Rails)
         
     | 
| 
      
 60 
     | 
    
         
            +
                            Rails.root.join("log","#{Rails.env}.log")
         
     | 
| 
      
 61 
     | 
    
         
            +
                          else
         
     | 
| 
      
 62 
     | 
    
         
            +
                            STDOUT
         
     | 
| 
      
 63 
     | 
    
         
            +
                          end
         
     | 
| 
       57 
64 
     | 
    
         
             
                        else
         
     | 
| 
       58 
     | 
    
         
            -
                          STDOUT
         
     | 
| 
       59 
     | 
    
         
            -
                        end
         
     | 
| 
       60 
     | 
    
         
            -
                      else
         
     | 
| 
       61 
65 
     | 
    
         
             
                        local
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
      
 66 
     | 
    
         
            +
                        end
         
     | 
| 
       63 
67 
     | 
    
         
             
                      @logger_console = Logger.new(device)
         
     | 
| 
      
 68 
     | 
    
         
            +
                      end
         
     | 
| 
      
 69 
     | 
    
         
            +
                    
         
     | 
| 
      
 70 
     | 
    
         
            +
                      @local = !!local
         
     | 
| 
      
 71 
     | 
    
         
            +
                      @debug= debug  
         
     | 
| 
      
 72 
     | 
    
         
            +
                      @ssl = ssl
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
                    @datahub_endpoint = datahub_endpoint
         
     | 
| 
      
 75 
     | 
    
         
            +
                    if !@datahub_endpoint[0].empty?           
         
     | 
| 
      
 76 
     | 
    
         
            +
                      @datahub_enabled=true
         
     | 
| 
      
 77 
     | 
    
         
            +
                      @datahub_ip="#{@datahub_endpoint[0]}"
         
     | 
| 
      
 78 
     | 
    
         
            +
                      @datahub_port=@datahub_endpoint[1]
         
     | 
| 
      
 79 
     | 
    
         
            +
                    else
         
     | 
| 
      
 80 
     | 
    
         
            +
                      @datahub_enabled=false  
         
     | 
| 
      
 81 
     | 
    
         
            +
                    end
         
     | 
| 
      
 82 
     | 
    
         
            +
             
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                    if (@datahub_enabled && @ssl)
         
     | 
| 
      
 85 
     | 
    
         
            +
                      puts ("\n\nYou Cannot have DataHub and SSL enabled at the same time.  Please set SSL value to false in your environment.rb file or used Token-Based logging by leaving the Datahub IP address blank. Exiting application. \n\n")
         
     | 
| 
      
 86 
     | 
    
         
            +
                      exit 
         
     | 
| 
       64 
87 
     | 
    
         
             
                    end
         
     | 
| 
       65 
     | 
    
         
            -
             
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
     | 
    
         
            -
             
     | 
| 
       68 
     | 
    
         
            -
                     
     | 
| 
      
 88 
     | 
    
         
            +
             
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
             #check if DataHub is enabled... if datahub is not enabled, set the token to the token's parameter.  If DH is enabled, make the token empty.
         
     | 
| 
      
 91 
     | 
    
         
            +
                    if (!datahub_enabled)
         
     | 
| 
      
 92 
     | 
    
         
            +
                       @token = token
         
     | 
| 
      
 93 
     | 
    
         
            +
                    else
         
     | 
| 
      
 94 
     | 
    
         
            +
                      @token = ''
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
             #! NOTE THIS @datahub_port conditional MAY NEED TO BE CHANGED IF SSL CAN'T WORK WITH DH        
         
     | 
| 
      
 97 
     | 
    
         
            +
                      @datahub_port = @datahub_port.empty? ?  API_SSL_PORT : datahub_port
         
     | 
| 
      
 98 
     | 
    
         
            +
                      @datahub_ip = datahub_ip
         
     | 
| 
      
 99 
     | 
    
         
            +
                    end
         
     | 
| 
      
 100 
     | 
    
         
            +
             
     | 
| 
      
 101 
     | 
    
         
            +
                    @host_name_enabled=custom_host[0];
         
     | 
| 
      
 102 
     | 
    
         
            +
                    @host_name= custom_host[1];
         
     | 
| 
      
 103 
     | 
    
         
            +
                     
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
            # Check if host_id is empty -- if not assign, if so, make it an empty string.
         
     | 
| 
      
 106 
     | 
    
         
            +
                   if !host_id.empty?
         
     | 
| 
      
 107 
     | 
    
         
            +
                      @host_id = host_id
         
     | 
| 
      
 108 
     | 
    
         
            +
                      @host_id = "host_id=#{host_id}"
         
     | 
| 
      
 109 
     | 
    
         
            +
                    else  
         
     | 
| 
      
 110 
     | 
    
         
            +
                      @host_id=''
         
     | 
| 
      
 111 
     | 
    
         
            +
                    end
         
     | 
| 
      
 112 
     | 
    
         
            +
             
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
            #assign host_name, if no host name is given and host_name_enabled = true... assign a host_name based on the machine name.
         
     | 
| 
      
 116 
     | 
    
         
            +
                   if @host_name_enabled
         
     | 
| 
      
 117 
     | 
    
         
            +
                      if host_name.empty?
         
     | 
| 
      
 118 
     | 
    
         
            +
                        @host_name=Socket.gethostname
         
     | 
| 
      
 119 
     | 
    
         
            +
                      end
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
                      @host_name="host_name=#{@host_name}"
         
     | 
| 
      
 122 
     | 
    
         
            +
                    end
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
      
 124 
     | 
    
         
            +
             
     | 
| 
       69 
125 
     | 
    
         
             
                    @queue = Queue.new
         
     | 
| 
       70 
126 
     | 
    
         
             
            	# Add identifer msg to queue to be sent first
         
     | 
| 
       71 
127 
     | 
    
         
             
                    @queue << "#{@token}#{LIBRARY_IDENTIFIER}\n"
         
     | 
| 
         @@ -93,14 +149,23 @@ S5ol3bQmY1mv78XKkOk= 
     | 
|
| 
       93 
149 
     | 
    
         
             
                  end
         
     | 
| 
       94 
150 
     | 
    
         | 
| 
       95 
151 
     | 
    
         
             
                  def write(message)
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
      
 153 
     | 
    
         
            +
                    if !host_id.empty? 
         
     | 
| 
      
 154 
     | 
    
         
            +
                      message = "#{message} #{ host_id }"
         
     | 
| 
      
 155 
     | 
    
         
            +
                    end
         
     | 
| 
      
 156 
     | 
    
         
            +
             
     | 
| 
      
 157 
     | 
    
         
            +
                    if host_name_enabled
         
     | 
| 
      
 158 
     | 
    
         
            +
                      message="#{message} #{ host_name }"
         
     | 
| 
      
 159 
     | 
    
         
            +
                    end
         
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
       96 
161 
     | 
    
         
             
                    if @local
         
     | 
| 
       97 
162 
     | 
    
         
             
                      @logger_console.add(Logger::Severity::UNKNOWN, message)
         
     | 
| 
       98 
163 
     | 
    
         
             
                    end
         
     | 
| 
       99 
164 
     | 
    
         | 
| 
       100 
165 
     | 
    
         
             
                    if message.scan(/\n/).empty?
         
     | 
| 
       101 
     | 
    
         
            -
                      @queue << "#{ @token } #{ message }\n"
         
     | 
| 
      
 166 
     | 
    
         
            +
                      @queue << "#{ @token } #{ message } \n" 
         
     | 
| 
       102 
167 
     | 
    
         
             
                    else
         
     | 
| 
       103 
     | 
    
         
            -
                      @queue << "#{ message.gsub(/^/, "\1#{ @token } [#{ random_message_id }] 
     | 
| 
      
 168 
     | 
    
         
            +
                      @queue << "#{ message.gsub(/^/, "\1#{ @token } [#{ random_message_id }]") }\n"
         
     | 
| 
       104 
169 
     | 
    
         
             
                    end
         
     | 
| 
       105 
170 
     | 
    
         | 
| 
       106 
171 
     | 
    
         | 
| 
         @@ -130,8 +195,17 @@ S5ol3bQmY1mv78XKkOk= 
     | 
|
| 
       130 
195 
     | 
    
         | 
| 
       131 
196 
     | 
    
         
             
                  def openConnection
         
     | 
| 
       132 
197 
     | 
    
         
             
                    dbg "LE: Reopening connection to Logentries API server"
         
     | 
| 
       133 
     | 
    
         
            -
             
     | 
| 
       134 
     | 
    
         
            -
             
     | 
| 
      
 198 
     | 
    
         
            +
              
         
     | 
| 
      
 199 
     | 
    
         
            +
             
     | 
| 
      
 200 
     | 
    
         
            +
                    if !@datahub_enabled
         
     | 
| 
      
 201 
     | 
    
         
            +
                      port = @ssl ? API_SSL_PORT: API_PORT
         
     | 
| 
      
 202 
     | 
    
         
            +
                      socket = TCPSocket.new(API_SERVER, port)      
         
     | 
| 
      
 203 
     | 
    
         
            +
                    else  
         
     | 
| 
      
 204 
     | 
    
         
            +
                      port = @datahub_port
         
     | 
| 
      
 205 
     | 
    
         
            +
                      socket = TCPSocket.new(@datahub_ip, port)
         
     | 
| 
      
 206 
     | 
    
         
            +
                    end
         
     | 
| 
      
 207 
     | 
    
         
            +
             
     | 
| 
      
 208 
     | 
    
         
            +
                     
         
     | 
| 
       135 
209 
     | 
    
         
             
                    if @ssl
         
     | 
| 
       136 
210 
     | 
    
         
             
                      ssl_context = OpenSSL::SSL::SSLContext.new()
         
     | 
| 
       137 
211 
     | 
    
         
             
                      ssl_context.cert = OpenSSL::X509::Certificate.new(API_CERT)
         
     | 
| 
         @@ -191,7 +265,7 @@ S5ol3bQmY1mv78XKkOk= 
     | 
|
| 
       191 
265 
     | 
    
         
             
                      loop do
         
     | 
| 
       192 
266 
     | 
    
         
             
                        begin
         
     | 
| 
       193 
267 
     | 
    
         
             
                          @conn.write(data)
         
     | 
| 
       194 
     | 
    
         
            -
                        rescue TimeoutError, Errno::EHOSTUNREACH, Errno::ECONNREFUSED, Errno::ECONNRESET, Errno:: 
     | 
| 
      
 268 
     | 
    
         
            +
                        rescue TimeoutError, Errno::EHOSTUNREACH, Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::ETIMEOUT, EOFError
         
     | 
| 
       195 
269 
     | 
    
         
             
                          dbg "LE: Connection timeout(#{ $! }), try to reopen connection"
         
     | 
| 
       196 
270 
     | 
    
         
             
                          reopenConnection
         
     | 
| 
       197 
271 
     | 
    
         
             
                          next
         
     | 
    
        data/test/host_spec.rb
    CHANGED
    
    | 
         @@ -6,8 +6,13 @@ describe Le::Host do 
     | 
|
| 
       6 
6 
     | 
    
         
             
              let(:local)   { false }
         
     | 
| 
       7 
7 
     | 
    
         
             
              let(:debug)   { false }
         
     | 
| 
       8 
8 
     | 
    
         
             
              let(:ssl)     { false }
         
     | 
| 
       9 
     | 
    
         
            -
              let(:host)    { Le::Host.new(token, local, debug, ssl) }
         
     | 
| 
       10 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
              let(:datahub_endpoint) { ["", 10000] }
         
     | 
| 
      
 11 
     | 
    
         
            +
              let(:host_id) { ""}
         
     | 
| 
      
 12 
     | 
    
         
            +
              let(:custom_host)	{ [false, ""]}
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
              #let(:host)    { Le::Host.new(token, local, debug, ssl) }
         
     | 
| 
      
 15 
     | 
    
         
            +
              let(:host)	{ Le::Host.new(token, local, debug, ssl, datahub_endpoint, host_id, custom_host)}
         
     | 
| 
       11 
16 
     | 
    
         
             
              specify { host.must_be_instance_of Le::Host::HTTP }
         
     | 
| 
       12 
17 
     | 
    
         | 
| 
       13 
18 
     | 
    
         
             
            end
         
     | 
    
        data/test/http_spec.rb
    CHANGED
    
    | 
         @@ -7,7 +7,15 @@ describe Le::Host::HTTP do 
     | 
|
| 
       7 
7 
     | 
    
         
             
              let(:local)              { false }
         
     | 
| 
       8 
8 
     | 
    
         
             
              let(:debug)              { false }
         
     | 
| 
       9 
9 
     | 
    
         
             
              let(:ssl)                { false }
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              let(:datahub_endpoint)  { ["", 10000]}
         
     | 
| 
      
 12 
     | 
    
         
            +
              let(:host_id)           {""}
         
     | 
| 
      
 13 
     | 
    
         
            +
              let(:custom_host)       {[false, ""]}
         
     | 
| 
      
 14 
     | 
    
         
            +
              
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            #  let(:host)               { Le::Host::HTTP.new(token, local, debug, ssl) }
         
     | 
| 
      
 17 
     | 
    
         
            +
              let(:host)               { Le::Host::HTTP.new(token, local, debug, ssl, datahub_endpoint, host_id, custom_host) }
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
       11 
19 
     | 
    
         
             
              let(:logger_console)     { host.instance_variable_get(:@logger_console) }
         
     | 
| 
       12 
20 
     | 
    
         
             
              let(:logger_console_dev) { logger_console.instance_variable_get(:@logdev).dev }
         
     | 
| 
       13 
21 
     | 
    
         | 
| 
         @@ -15,5 +23,7 @@ describe Le::Host::HTTP do 
     | 
|
| 
       15 
23 
     | 
    
         
             
              specify { host.local.must_equal false }
         
     | 
| 
       16 
24 
     | 
    
         
             
              specify { host.debug.must_equal false }
         
     | 
| 
       17 
25 
     | 
    
         
             
              specify { host.ssl.must_equal false }
         
     | 
| 
      
 26 
     | 
    
         
            +
              specify {host_id.must_equal ""}
         
     | 
| 
      
 27 
     | 
    
         
            +
              specify {custom_host.must_equal [false, ""]}  
         
     | 
| 
       18 
28 
     | 
    
         | 
| 
       19 
29 
     | 
    
         
             
            end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: le
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.5.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Mark Lacomber
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2014-09 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-10-09 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     |