Giter VIP home page Giter VIP logo

fx-log's People

Contributors

joffrey-bion avatar mebubo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

fx-log's Issues

Double click on a regexp result brings to the relevant line

It would be nice (if doable) when searching using a regexp, to double click on a result line and to be brought directly to the relevant line in the full log.
Useful when you filter something using a regexp and than want to read what happened before and after a certain result.

Removing your filter should bring you to last line

After entering some text in the regexp search box, the logs are correctly filtered as designed.
But following the tipical daily usage, after searching and than deleting the regexp, the position in the log file is reset to the top, and we need to scrol down to the bottom again to follow new lines, even though Follow Tail under View is ticked.

As a potential improvement, consider make the deletion of a regexp bring you to the tail of the file.

Missing File name and path in the UI

It is important to be able to check which file we are currently viewing. To achieve this we require the file name and path to be displayed on the UI.
Cheers,
Vincent

Blacklist filtering

It would be great to blacklist some patterns so they never show in the logs. At work, some BE messages are absolutely useless, and they are on many lines, creating a lot of noise.

In addition to positively filtering (i.e. the current "regex filter on raw logs" feature), I think negatively filtering could be great when you are not looking for something specific, yet you know you don't want to see the usual noise.

Drag & Drop the file to Open

A must have functionality is to be able to drag and drop the file on the FX-log Window in order to open it. The tool cannot be heavily used without such functionality

Project first import issue on Intellij

When you import the project as a Gradle project on Intellij, you get issues because it tries to build before the import is finished.

I think a quick workaround would be to add a gradle.properties file with the following content:

bintrayUsername: .
bintrayApiKey: .
bintrayRepoApps: .

Remember column order

Would be a nice feature to be able to rearrange the columns and keeping the changes even after restarting the application.
Right now, you can easily change the order of the column but a restart will reset the layout to default

Launch weblogic from fx-log

Instead of launching the server through ant start, explore launching it through fx-log, so no UI is visible to the user. Since this would mean we work with the live stream instead of the archive file, there are consequences such as: better perf (i.e. no disk access), no history (i.e. no access to previous logs, or random logs). This would be a feature in addition to reading the server.log file.

You would start the server and be connected automatically to the stream, or just launch fx-log and manually target a file.

Some notes:

  • Consume the sys.out/sys.err streams directly instead of consuming the file on the harddrive
  • Start/Stop the server process from within the fx-log process
  • ant start launches a .cmd file internally which launches the server. This means we need to access what's inside directly instead of calling the ant target.

Slow logs display (and jumps)

The logs sometimes go slowly compared to what's output by the raw console.

The interesting thing is that there are sometimes bursts of logs, so we get a lot of lines at once really fast and then back to slow log feed.

Wrap text in the cells of the selected row(s)

QoL improvement suggestion:

So right now you can have all the lines with text-wrap on or off. I think people who want to have if off (i.e. each line in the table has the height of one line of text) would like a action to "expand" the text in the focuse line by pressing a shortcut like ENTER (and also maybe a menu item + context-menu item).

Add the version number in the Help menu

It would be helpful to have a new "About" submenu in "Help". It would display the version number (+ commit number maybe also would be cool) of the running application. It could also display the author, website, etc.

Just the typical about popup

Log colors shift when changing filter state

When the case sensitivity checkbox state changes, the colors of the logs shift by one or 2 lines.
It is also reproducible easily by adding and removing a space in the filter bar.
Pretty obvious with the sample weblogic3.log

Provide parameters to override tailing settings

We should able to customize the follwing parameters with command line arguments or preferences:

  • tailer delay: the rate at which the tailer checks the log file for differences (in ms)
  • buffer size: the size of the buffer used to read the file (in bytes)

Make the scrollbar larger and more visible

In both light and dark theme, the scrollbar is very thin and low contrast with its background. The scrollbar is a central UI element in the context of log reading. It should be more visible/usable.

Weblogic's columnizer fails on messages containing <>

The following lines don't match the regex of weblogic columnizer:

####<Feb 24, 2016 10:26:11 AM GMT> <Warning> <Jcp> <NCEL18119> <myserver> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1456309571223> <BEA-000000> <com.amadeus.ocg.standard.util.monetary.MonetaryComputer> <multiply: at least one input is null: the first value is <0>, the second value is <1>.;jsessionid=7hYSz-yT5C5eDapXTRGzg8HcOaxwiGCZGqLRH9Zx6DUvlpQqnQUQ!-410419304!1456309529750> 
####<Feb 24, 2016 10:26:11 AM GMT> <Warning> <Jcp> <NCEL18119> <myserver> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1456309571347> <BEA-000000> <com.amadeus.ocg.standard.util.monetary.MonetaryComputer> <multiply: at least one input is null: the first value is <0>, the second value is <1>.;jsessionid=7hYSz-yT5C5eDapXTRGzg8HcOaxwiGCZGqLRH9Zx6DUvlpQqnQUQ!-410419304!1456309529750> 

This is most likely due to the fact that the message contains < and >.

Colorizer's "stacktrace" rule does not match first line

The "Stacktrace" rule's regex does not match the first line of the stacktrace (containing the exception's name, but no "at" or ""caused by"):

####<Feb 24, 2016 4:22:53 PM GMT> <Error> <Jcp> <NCEL18119> <myserver> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1456330973262> <BEA-000000> <com.amadeus.edc.lh.filter.LuftConfigFilter> <An error occurred, redirection to GENR...;jsessionid=RVwUFoWxJDmfZbSm0lDERb-V5gFUpN1mICqre5TLmj5ce9SqYERP!-410419304!1456330933681
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.tiles.impl.CannotRenderException: Software caused connection abort: socket write error
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

Add re-ordering for customization lists

When editing columnizers and colorizers, the user experience could be really improved by offering a re-order feature.

This applies to:

  • colorization rules
  • columnization patterns
  • columnizer's column definitions
  • less importanlty, the columnizers and colorizers themselves

Refine CSS for dark theme

Several UI issues boil down to one source problem: the CSS of the dark theme hasn't been thought through.

Examples:

  • text is too white
  • menus are hard to distinguish from their background

Multi Tab

We need to be able to open multiple log files and switch from one file to another.
Think about a production like environment where you must follow the logs of several nodes

Filter field should be case-insentive by default

The search field is currently matching case-sentitive regexes. I think a better design (to fit most common use-cases) would be to have that box only check for case-insensitive substrings, then have a checkbox besides the search field to switch to regex input.

That way the default behaviour covers 80% cases, and then checking the box helps you answer the remaining 20% cases.

Colors not updating immediately

When switching colorizers or editing the currently selected colorizer, the colors are not applied right away (the rows are not re-rendered in real time).

This forces the user to either scroll or select/unselect some lines for them to refresh.

Store user's filters

There should be the possibility to remember the user's filters from one run of the app to the other.
The user would either type in the textfield directly or choose the filter from a selectbox.

Search/highlight without filtering

The filtering feature is nice, but it would also be nice to be able to keep context when searching for something. Right now, if I use a regex at the top, then I only see the matching lines, but I can't see their context.

A basic search feature should also be available to just highlight some words, go from one occurrence to the other, etc. Without removing all other "irrelevant" lines, that may bring context and in fact be useful.

Related:
#34

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.