jdrews / logstation Goto Github PK
View Code? Open in Web Editor NEWTail log files in web browser
License: Apache License 2.0
Tail log files in web browser
License: Apache License 2.0
webserver port number change via conf file
turn title red if exception pops up --- really low priority
It would be nice if this were available as an embeddable library. Steps required would be:
When running the application, service binds to all interfaces by default. That is, it binds to 0.0.0.0 on the specified port.
From a security perspective, this is not desirable. The default behavior of any service should be to bind only to the localhost (127.0.0.1) interface by default, and allow overriding the bind address via config file.
Issues with Windows Server 2012 and file handlers. It keeps making new tabs.
Use WebJars and sbt-web to copy libraries to the correct place on compilation.
Add ability to add highlighting of words on the fly via regex.
I'm excited to use logstation and I'd like to configure to use it automatically in my environment. However, when I start a logstation instance programatically, it immediately dies:
Exception in thread "main" java.lang.UnsupportedOperationException: The BROWSE action is not supported on the current platform!
at java.awt.Desktop.checkActionSupport(Desktop.java:225)
at java.awt.Desktop.browse(Desktop.java:381)
at com.jdrews.logstation.LogStation$delayedInit$body.apply(LogStation.scala:124)
at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
at scala.App$$anonfun$main$1.apply(App.scala:71)
at scala.App$$anonfun$main$1.apply(App.scala:71)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:32)
at scala.App$class.main(App.scala:71)
at com.jdrews.logstation.LogStation$.main(LogStation.scala:34)
at com.jdrews.logstation.LogStation.main(LogStation.scala)
Am I missing something with how I should run it?
I tried using logstation -c, but it does not seem to respect it.
$ mv logstation.conf logstation_othername.conf
$ java -jar logstation-0.3.10.jar -c logstation_othername.conf
Welcome to logstation! Creating default logstation.conf...
Please setup your logstation.conf located here: /home/kbock/tincture3/logstation.conf
Then relaunch and logstation will be located at: http://127.0.0.1:0
Am I passing the flags incorrectly? Thanks for your help!
log 3 or more logs
then when it gets to working on truncating lines it crashes out
for reducing bandwidth on slow and small links (i.e. legacy satellite uplinks)
This is a life saver. I love it! Thank you. I'm wondering how difficult it would be to add a list of files from the directory so we caught pick which one to view? My log files change each day, so it would be great not to have to reset this every day. Maybe with a wildcard filter like *.log or *.txt?
Most browsers support websockets nowadays. And Scala selected Play as it's framework so best to go with whats canonical.
Add pause button so it doesn't update on slow links.
Confirm no data transfer if log not showing.
The lib node-tail used in this project enables to start/stop watch:
tail.unwatch()
It's very good for many logs in little time when necessary analyse the log, so watch stop and after, start watch again.
The beginning and end of subsequent lines can collide on select situations. This is an upstream problem in react-log-viewer which is being tracked in patternfly/react-log-viewer#3
I used "logstation" to log HTTP requests, I noticed the "logstation" interprets HTML.
For example, if I send http://xxx.xxx.xxx/xxx.php?a=<dETAILS%0aopen%0aonToGgle%0a=%0aa=prompt,a() x>
And I log the requests and display it in "logstation" the HTML will be interpreted
Open more than one client sequentially. Each time the previous clients receive duplicate, or triplicate (sp?) log links, and so forth.
I'm using Logstation inside Docker container. And I don't know why, but some lines are breached with this symbols: [31m
and [39m
.
Expected behavior and the string from a original file:
[2018-11-12T14:49:56.008Z] - ERROR: ESOCKETTIMEDOUT
I'm getting in the Logstation:
[[31m2018-11-12T14:49:56.008Z[39m] - [31mERROR[39m: ESOCKETTIMEDOUT
Maybe it's not an error, but some container environment issue, I don't know.
Currently user has to scroll down to begin tailing. Make it tail at boot.
Original problem: Sometimes when logstation starts, it just does not tail any files.
I cannot tell the difference between a launch that will fail or succeed. Once the next run does not work, I will post the full traceback.
==================================================
Original issue I opened/errors reported: (though all of these appear in both the successful and unsuccessful runs)
I'm seeing these two errors often before logstation stops working, so I figured I'd open an issue just to ask if they are a problem, or something else.
06:44:41.194 [main] INFO o.e.j.w.StandardDescriptorProcessor - NO JSP Support for /, did not find org.apache.jasper.servlet.JspServlet
06:44:41.407 [main] ERROR net.liftweb.util.Props - Failed to find a properties file (but properties were accessed). Searched: /props/root.ubuntu.props, /props/root.props, /props/ubuntu.props, /props/default.props, /root.ubuntu.props, /root.props, /ubuntu.props, /default.props
On shutdown (when nothing shows up in logstation):
[INFO] [10/15/2018 06:49:44.371] [LogStation-akka.actor.default-dispatcher-7] [akka://LogStation/user/LogStationServiceActor] Message [akka.actor.Terminated] from Actor[akka://LogStation/user/LogStationServiceActor/LogTailerActor-:worker0:#-649459367] to Actor[akka://LogStation/user/LogStationServiceActor#1772589764] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
Close a log file so we don't listen to it's messages anymore.
Like grep -A or grep -C
I saw that logstation is writing stuff in "/tmp".
It would be nice to have an option in the config to set another place for temporary storage.
Need to cleanup the log messages so it doesn't spam stdout.
index all daily logs
1, old logs
2, old logs compressed in gz
3, current logs, update automatically
search service, support line parse:
1, line is a whole string, optional equals to : {"line":"log line"}
2, line => json, ex: {"ip":"address","msg":"message","level":"INFO"}
sometimes line parse is difficult, so option 1 is good enough
Please create a configuration parameter to set custom html title other than "logstation". I want to differ multiple logstation browser tabs...
And thanks for this nice tool. It's great.
Hello,
The app is really cool, which could help me a lot.Just wanted to check if authentication is available.
Reproducing steps
Great project. Thank you.
The tabs for log files display the name truncated from the start of the path. Like "/some/folder/..." but, in my opinion, it would be better to show the end of the path like "../log/service.log" (and truncate at the start).
I know that you can hover over the tab to see the full file path but I thought this might be easier.
Alternatively, it would be cool to provide some way to specify the tab title for a particular log in the config file. This might not work so well for wildcards.
And it would be great if you could specify a tab colour for a particular log (or set of logs).
When you scroll up it disappears, which can make it hard to enable following or pausing
It looks like connections get dropped or stop getting updated. I see "Received shutdown" and "session expired" messaged for threads and don't know if those are the related connections.
Also after refreshing the browser, no additional updates are received (clearing the cookie in Chrome will sometimes allow updates to continue). I'm running on CentOS6.10, java 1.7.0_67
dependabot, renovatebot, etc
Filter logs based on regex (so you could watch one resource -- or type of message) --- idea is to be able to filter log on a parameter line --- think about making it happen on the server side to conserve bandwidth
Allow user to press enter a few times to mark their spot
Or allow user to highlight section by clicking it so they know when new data comes in.
It's unclear to me why this is, and it seems to affect 3.10 and 3.11. If you get logstation open and are tailing files, if you refresh the page for any reason, logstation stops working - no files show up to be tailed.
still at 1000. not what the conf says
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.