diff --git a/lib/fluent/plugin/in_syslog.rb b/lib/fluent/plugin/in_syslog.rb
index <HASH>..<HASH> 100644
--- a/lib/fluent/plugin/in_syslog.rb
+++ b/lib/fluent/plugin/in_syslog.rb
@@ -80,16 +80,7 @@ module Fluent::Plugin
     desc 'The prefix of the tag. The tag itself is generated by the tag prefix, facility level, and priority.'
     config_param :tag, :string
     desc 'The transport protocol used to receive logs.(udp, tcp)'
-    config_param :protocol_type, default: :udp do |val|
-      case val.downcase
-      when 'tcp'
-        :tcp
-      when 'udp'
-        :udp
-      else
-        raise Fluent::ConfigError, "syslog input protocol type should be 'tcp' or 'udp'"
-      end
-    end
+    config_param :protocol_type, :enum, list: [:tcp, :udp], default: :udp
     desc 'If true, add source host to event record.'
     config_param :include_source_host, :bool, default: false
     desc 'Specify key of source host when include_source_host is true.'
@@ -149,6 +140,7 @@ module Fluent::Plugin
           return
         end
 
+        pri ||= record.delete('pri')
         record[@source_host_key] = addr[2] if @include_source_host
         emit(pri, time, record)
       end
fix bug to miss to get priority from parsers with_priority enabled