1.Requirement: Read the latest lines of the Windows Application Event
Viewer to verify deployment status executions.
2. Environment: Ruby 1.9.1 On Windows
win32-eventlog (0.5.2)
windows-api (0.4.0)
windows-pr (1.1.3)
3. Problem: On Ruby 1.8.7 my scripts using win32 evenlog api works fine
but on ruby 1.9.1 they don’t. I know the String management has changed
on Ruby 1.9.1 and above.
- Exception Details.
C:/Ruby191/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:14:in
[]': invalid byte sequence in US-ASCII (ArgumentError) from C:/Ruby191/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:14:in
nstrip’
from
C:/Ruby191/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:613:in
read' from bw_logutil.rb:49:in
read_event_log’
from bw_logutil.rb:97:in block in <main>' from bw_logutil.rb:96:in
each’
from bw_logutil.rb:96:in `’
- Source of Information :
http://raa.ruby-lang.org/project/win32-eventlog/
- Tried Solutions. Tried to use WMI but there is no way to filter the
latest results.
Could someone help me with this.
On Feb 2, 1:51pm, “Luis M.” [email protected] wrote:
- Problem: On Ruby 1.8.7 my scripts using win32 evenlog api works fine
but on ruby 1.9.1 they don’t. I know the String management has changed
on Ruby 1.9.1 and above.
Please try Ruby 1.9.2-p136.
Also, report the issue back to win32utils developers:
http://rubyforge.org/projects/win32utils
Who will tell you the same thing, try Ruby 1.9.2
Luis L. wrote in post #979202:
On Feb 2, 1:51pm, “Luis M.” [email protected] wrote:
- Problem: On Ruby 1.8.7 my scripts using win32 evenlog api works fine
but on ruby 1.9.1 they don’t. I know the String management has changed
on Ruby 1.9.1 and above.
Please try Ruby 1.9.2-p136.
Also, report the issue back to win32utils developers:
http://rubyforge.org/projects/win32utils
Who will tell you the same thing, try Ruby 1.9.2
I will try this new version.
Luis M. wrote in post #979203:
Luis L. wrote in post #979202:
On Feb 2, 1:51pm, “Luis M.” [email protected] wrote:
- Problem: On Ruby 1.8.7 my scripts using win32 evenlog api works fine
but on ruby 1.9.1 they don’t. I know the String management has changed
on Ruby 1.9.1 and above.
Please try Ruby 1.9.2-p136.
Also, report the issue back to win32utils developers:
http://rubyforge.org/projects/win32utils
Who will tell you the same thing, try Ruby 1.9.2
I will try this new version.
I tried the new version Ruby 1.9.2, installing the win32-eventlog gem
but the same result.
C:/Ruby192/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:14:in
[]': invalid byte sequence in US-ASCII (ArgumentError) from C:/Ruby192/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:14:in
nstrip’
from
C:/Ruby192/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog.rb:613:in
read' from bw_logutil.rb:50:in
read_event_log’
from bw_logutil.rb:98:in block in <main>' from bw_logutil.rb:97:in
each’
from bw_logutil.rb:97:in `’
Luis L. wrote in post #979214:
On Feb 2, 2:40pm, “Luis M.” [email protected] wrote:
Luis L. wrote in post #979202:
Who will tell you the same thing, try Ruby 1.9.2
I will try this new version.
I tried the new version Ruby 1.9.2, installing the win32-eventlog gem
but the same result.
C:/Ruby192/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog
.rb:14:in
`[]': invalid byte sequence in US-ASCII (ArgumentError)
First your script needs to be in the same encoding that eventlog is
expecting.
As I mentioned, please report this error/bug to win32utils developers
in the provided link, they might be able to help you better.
You mean adding at the top of the script the following line.
encoding: UTF-8
On Feb 2, 2:40pm, “Luis M.” [email protected] wrote:
Luis L. wrote in post #979202:
Who will tell you the same thing, try Ruby 1.9.2
I will try this new version.
I tried the new version Ruby 1.9.2, installing the win32-eventlog gem
but the same result.
C:/Ruby192/lib/ruby/gems/1.9.1/gems/win32-eventlog-0.5.2/lib/win32/eventlog
.rb:14:in
`[]': invalid byte sequence in US-ASCII (ArgumentError)
First your script needs to be in the same encoding that eventlog is
expecting.
As I mentioned, please report this error/bug to win32utils developers
in the provided link, they might be able to help you better.
Luis L. wrote in post #979202:
On Feb 2, 1:51pm, “Luis M.” [email protected] wrote:
- Problem: On Ruby 1.8.7 my scripts using win32 evenlog api works fine
but on ruby 1.9.1 they don’t. I know the String management has changed
on Ruby 1.9.1 and above.
Please try Ruby 1.9.2-p136.
Also, report the issue back to win32utils developers:
http://rubyforge.org/projects/win32utils
Who will tell you the same thing, try Ruby 1.9.2
SOLUTION!!!
Finally, I modified the eventlog.rb with the following lines:
val = buf[56…-1] #–
if !val.ascii_only?
val.force_encoding($>.external_encoding ||
Encoding.default_external)
end
event_source = val.nstrip
#puts event_source
newval = buf[56 + event_source.length + 1..-1]
if !newval.ascii_only?
newval.force_encoding($>.external_encoding ||
Encoding.default_external)
end
#This is based on the help of this forum
#http://rubyforge.org/forum/forum.php?thread_id=49201&forum_id=319
Thank you Ruby Friends.