mirror of
				https://gitea.invidious.io/iv-org/shard-kemal.git
				synced 2024-08-15 00:53:36 +00:00 
			
		
		
		
	More logger specs
This commit is contained in:
		
							parent
							
								
									0e23e8d9a3
								
							
						
					
					
						commit
						f66e9cd834
					
				
					 2 changed files with 21 additions and 5 deletions
				
			
		|  | @ -1,6 +1,11 @@ | ||||||
| require "./spec_helper" | require "./spec_helper" | ||||||
| 
 | 
 | ||||||
| describe "Logger" do | describe "Logger" do | ||||||
|  |   it "creates a handler" do | ||||||
|  |     logger = Kemal::Logger.new | ||||||
|  |     logger.handler.should_not be nil | ||||||
|  |   end | ||||||
|  | 
 | ||||||
|   it "creates a STDOUT handler by default" do |   it "creates a STDOUT handler by default" do | ||||||
|     config = Kemal.config |     config = Kemal.config | ||||||
|     logger = Kemal::Logger.new |     logger = Kemal::Logger.new | ||||||
|  | @ -13,4 +18,15 @@ describe "Logger" do | ||||||
|     logger = Kemal::Logger.new |     logger = Kemal::Logger.new | ||||||
|     logger.handler.should be_a File |     logger.handler.should be_a File | ||||||
|   end |   end | ||||||
|  | 
 | ||||||
|  |   it "writes to a file in production" do | ||||||
|  |     config = Kemal.config | ||||||
|  |     config.env = "production" | ||||||
|  |     logger = Kemal::Logger.new | ||||||
|  |     request = HTTP::Request.new("GET", "/?message=world&time=now") | ||||||
|  |     logger.call request | ||||||
|  |     str = File.read("kemal.log") | ||||||
|  |     File.delete("kemal.log") | ||||||
|  |     str.includes?("GET /?message=world&time=now").should eq true | ||||||
|  |   end | ||||||
| end | end | ||||||
|  |  | ||||||
|  | @ -4,10 +4,10 @@ class Kemal::Logger < HTTP::Handler | ||||||
|   def initialize |   def initialize | ||||||
|     @env = Kemal.config.env |     @env = Kemal.config.env | ||||||
|     @handler = if @env == "production" |     @handler = if @env == "production" | ||||||
|       File.new("kemal.log", "a+") |                  File.new("kemal.log", "a") | ||||||
|     else |                else | ||||||
|       STDOUT |                  STDOUT | ||||||
|     end |                end | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def call(request) |   def call(request) | ||||||
|  | @ -35,7 +35,7 @@ class Kemal::Logger < HTTP::Handler | ||||||
| 
 | 
 | ||||||
|   def write(message) |   def write(message) | ||||||
|     if @env == "production" |     if @env == "production" | ||||||
|       @handler.write message.to_slice |       File.write "kemal.log", message | ||||||
|     else |     else | ||||||
|       @handler.print message |       @handler.print message | ||||||
|     end |     end | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue