logster 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b21c5ac2f54261afd0a6b2b35bff091e19b8c585
4
- data.tar.gz: 2f14a5000271e1017c380379cbcf377025747eda
3
+ metadata.gz: c232a36182ddcf075324915beeb9be8be77acb4c
4
+ data.tar.gz: d761886b1f2ad2942fc1a49b2a17d9fb6069263e
5
5
  SHA512:
6
- metadata.gz: 423e3ed1d419725174e2593f237274821edcc0b904f7286d7e88f0afccc040a321de66a9d410b6e646b153060f0fd094a54fa46c6387e8f418b1c48a49c50994
7
- data.tar.gz: 59143d70c2839be397e98025ae4d66fd4e987e3bc86d7d5c382f851cd4cafa19fc7fc79f7549a85096fa56b8a4ec08cec72221c2fb4857cd2aa5b2bd74eb4856
6
+ metadata.gz: 35f5c15dc4a5b5f1e71f1d9c088d31e37c42bb7fceb545f44e6d059291dddfae45a5bed19b70edfbc3078bb8dfd0cd51eab050e743ef42718ae036f49c261064
7
+ data.tar.gz: f49ec022a79e6fab55ea4b0fdbcdd54d6778fa0059193ab325dc88e0b6585b64cb798733612ee2a8846cc6d99d461f3fb8c13248e5b0f28adbf6bf4ad43a0803
data/README.md CHANGED
@@ -57,7 +57,7 @@ Logster UI is built using [Ember.js](http://emberjs.com/)
57
57
  - Feature: Store backtraces, allow people to view them in the GUI
58
58
  - 2014-05-12: Version 0.0.5
59
59
  - Feature: We now log basic rack environment with the messages
60
- - Add your on with Logster.add_to_env(env, key, value)
60
+ - Add your own with Logster.add_to_env(env, key, value)
61
61
  - 2014-05-12: Version 0.0.6
62
62
  - Add referer to env
63
63
  - 2014-05-13: Version 0.0.7
@@ -70,3 +70,7 @@ Logster UI is built using [Ember.js](http://emberjs.com/)
70
70
  - Correct context for error reporting
71
71
  - Clean up backtraces of reported exceptions
72
72
  - Report params in env tab
73
+ - 2014-07-04: Version 0.0.12
74
+ - Feature: Able to share logs, at /logs/show/(hexdigits)
75
+ - Add protecting logs, so they aren't deleted when old (for use with sharing)
76
+ - Restructured Redis data model
@@ -202,7 +202,8 @@ App.MessageCollection = Em.Object.extend({
202
202
  loadMore: function(){
203
203
 
204
204
  var messages = this.get("messages");
205
- if(messages.length === 0){
205
+ if (messages.length === 0) {
206
+ this.load({});
206
207
  return;
207
208
  }
208
209
 
@@ -300,6 +301,13 @@ App.IndexController = Em.Controller.extend({
300
301
  return this.get('model').loadMore();
301
302
  },
302
303
 
304
+ clear: function() {
305
+ var self = this;
306
+ App.ajax("/clear", { type: "POST" }).success(function() {
307
+ self.get('model').reload();
308
+ });
309
+ },
310
+
303
311
  protect: function(message) {
304
312
  this.get('currentMessage').protect().success(function() {
305
313
  self.transitionToRoute("show", {id: self.get('key')});
@@ -10,7 +10,7 @@
10
10
  <tbody>
11
11
  {{#if model.moreBefore}}
12
12
  <tr {{action showMoreBefore}} class="show-more">
13
- <td colspan=3>{{model.totalBefore}} more</td>
13
+ <td colspan=4>{{model.totalBefore}} more</td>
14
14
  </tr>
15
15
  {{/if}}
16
16
  {{each model.messages itemViewClass="App.MessageView"}}
@@ -45,5 +45,6 @@
45
45
  <label class="search">
46
46
  {{input type="textfield" placeholder="Search" value=search}}
47
47
  </label>
48
+ <a class="clear" href {{action clear}}>Clear logs</a>
48
49
  </div>
49
50
  </div>
@@ -68,9 +68,10 @@ th.time{
68
68
  color: #777;
69
69
  }
70
70
 
71
- .search input {
71
+ .action-panel .search input {
72
72
  border: 1px solid #DDD;
73
73
  padding: 3px;
74
+ vertical-align: middle;
74
75
  }
75
76
 
76
77
  .regex input {
@@ -180,6 +181,14 @@ tr.show-more {
180
181
  position: relative;
181
182
  top: -1px;
182
183
  margin-left: 20px;
184
+ vertical-align: sub;
185
+ }
186
+
187
+ .action-panel .clear {
188
+ position: relative;
189
+ top: -1px;
190
+ margin-left: 50px;
191
+ vertical-align: middle;
183
192
  }
184
193
 
185
194
  #log-table {
@@ -63,12 +63,16 @@ module Logster
63
63
 
64
64
  def self.populate_from_env(env)
65
65
  env[LOGSTER_ENV] ||= begin
66
+ unless env.include? "rack.input"
67
+ # Not a web request
68
+ return env
69
+ end
66
70
  scrubbed = {}
67
71
  request = Rack::Request.new(env)
68
72
  params = {}
69
73
  request.params.each do |k,v|
70
74
  if k.include? "password"
71
- params[k] = "[reducted]"
75
+ params[k] = "[redacted]"
72
76
  else
73
77
  params[k] = v[0..100]
74
78
  end
@@ -36,6 +36,8 @@ module Logster
36
36
 
37
37
  if resource =~ /\.js$|\.handlebars$|\.css$/
38
38
  env[PATH_INFO] = resource
39
+ # accl redirect is going to be trouble, ensure its bypassed
40
+ env['sendfile.type'] = ''
39
41
  @fileserver.call(env)
40
42
  elsif resource.start_with?("/messages.json")
41
43
  serve_messages(Rack::Request.new(env))
@@ -61,6 +63,16 @@ module Logster
61
63
  return [500, {}, ["Failed"]]
62
64
  end
63
65
  end
66
+
67
+ elsif resource =~ /\/clear$/
68
+ puts env
69
+ puts env[REQUEST_METHOD]
70
+ if env[REQUEST_METHOD] != "POST"
71
+ return [405, {}, ["GET not allowed for /clear"]]
72
+ end
73
+ Logster.store.clear
74
+ return [200, {}, ["Messages cleared"]]
75
+
64
76
  elsif resource =~ /\/show\/([0-9a-f]+)(\.json)?$/
65
77
  key = $1
66
78
  json = $2 == ".json"
@@ -1,3 +1,3 @@
1
1
  module Logster
2
- VERSION = "0.0.12"
2
+ VERSION = "0.0.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - UI for viewing logs in Rack
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-04 00:00:00.000000000 Z
11
+ date: 2014-07-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler