diff --git a/shard.yml b/shard.yml index 677d8af..04a1604 100644 --- a/shard.yml +++ b/shard.yml @@ -1,11 +1,11 @@ name: cr-xmpp -version: 0.1.4 +version: 0.1.5 description: | XMPP/Jabber Library for Crystal focusing on simplicity, simple automation, and IoT. authors: - Ali Naqvi -crystal: 0.34.0 +crystal: 0.35.0 license: MIT diff --git a/src/cr-xmpp.cr b/src/cr-xmpp.cr index adaf85a..95b52b1 100644 --- a/src/cr-xmpp.cr +++ b/src/cr-xmpp.cr @@ -1,5 +1,5 @@ module XMPP - VERSION = "0.1.4" + VERSION = "0.1.5" end require "./xmpp" diff --git a/src/xmpp/logger.cr b/src/xmpp/logger.cr index c784e17..2e73c5c 100644 --- a/src/xmpp/logger.cr +++ b/src/xmpp/logger.cr @@ -3,18 +3,12 @@ require "log" module XMPP::Logger @@logger : Log = build_logger - private def self.build_logger(output = STDOUT) - backend = Log::IOBackend.new(output) - backend.progname = "Crystal-XMPP" - backend.formatter = Log::Formatter.new do |entry, io| - label = entry.severity.none? ? "ANY" : entry.severity.label - io << "[" << entry.timestamp << " #" << Process.pid << "]" - io << label.rjust(7) << " -- " << backend.progname << ": " << entry.message - end + Log.define_formatter MyFormat, "[#{timestamp} ##{Process.pid}] #{(severity || "ANY").rjust(7)} -- Crystal-XMPP: #{message}" - builder = Log::Builder.new - builder.bind("", :info, backend) - builder.for("") + private def self.build_logger(output = STDOUT) + backend = Log::IOBackend.new(output, formatter: MyFormat) + Log.setup(:info, backend) + Log.for("Crystal-XMPP") end {% for method in %w(info debug warn fatal error) %} @@ -23,3 +17,4 @@ module XMPP::Logger end {% end %} end + diff --git a/src/xmpp/stream_logger.cr b/src/xmpp/stream_logger.cr index cffd843..81cab9a 100644 --- a/src/xmpp/stream_logger.cr +++ b/src/xmpp/stream_logger.cr @@ -21,7 +21,7 @@ module XMPP n end - def write(slice : Bytes) : Nil + def write(slice : Bytes) : Int64 @socket.write slice @socket.flush if (sp = @log_file) @@ -29,6 +29,7 @@ module XMPP sp << String.new(slice) sp << "\n\n" # Separator end + slice.size.to_i64 end private def do_read(bytes : Slice)