Giter Site home page Giter Site logo

tiagosiebler / mstrweblogparser Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 2.0 3.06 MB

A browser-based parser built to process and browse through the log files generated by the MicroStrategy Web and Mobile servers, under MSTR/WEB-INF/log/.

Home Page: https://tiagosiebler.github.io/MSTRWebLogParser/build/

CSS 19.82% HTML 33.68% JavaScript 46.50%
microstrategy-web parse browse concatenate log log-parser microstrategy

mstrweblogparser's Introduction

MicroStrategy Log Parser

This is a simple browser-based parser built to process and browse through the log files generated by MicroStrategy Web, under MSTRWeb/WEB-INF/log/. This parser should also be able to process log files from the MicroStrategy Mobile server.

This specific project is built with:

  • AngularJS + various submodules
  • Bootstrap 3

Live Demo

See the latest code in-action here: https://tiagosiebler.github.io/MSTRWebLogParser/build/

This demo is a live implementation of the latest code in this repository, the link can be bookmarked for easy access.

Supported MicroStrategy Log Formats

  • MicroStrategy Web server generated MSTRLog files, found in MSTRWeb/WEB-INF/log.
  • MicroStrategy Web server generated AdvMSTRLogwebapi*.log files.
  • MicroStrategy Mobile server log files, similar to the above.
  • MicroStrategy Web & Mobile Server Kernel XML API Traces.

Issues & Enhancements

Report issues and request enhancements in the issue tracker, or contact Tiago: https://github.com/tiagosiebler/MSTRWebLogParser/issues

View the changelog of the parser: https://github.com/tiagosiebler/MSTRWebLogParser/blob/master/CHANGELOG.md

Error Handling

The logic driving the parser has error handling in place. If anything can't be parsed for any reason, it'll throw a visible error in the interface. Please let me know if this happens.

Getting Involved

Development

Installs dependencies and launches development instance in default browser. Any file-changes automatically update browser instance.

  1. Install Ruby, if not yet installed

    $ gem install sass
    
  2. Install gulp dependencies

    $ npm install -d
    
  3. Run with gulp

    $ gulp
    

Production Build

The production build produces a zip file, or can be accessed directly via the build directory.

  1. Install Ruby, if not yet installed

    $ gem install sass
    
  2. Install gulp dependencies

    $ npm install -d
    
  3. Build with gulp

    $ gulp build
    

Project Structure

src

Contains all source code that is modified and should be optimized in any way:

  • HTML
  • JavaScript modules
  • CSS
build

Contains production-ready project with heavy code optimization.

dev

Contains development instance of project with minimal code processing for easier debugging. Debugger statements are not removed here.

gulpfile.js

Gulp tasks used to automate build & optimization process.

  • Clean project (e.g .DS_Store files)
  • Minify HTML
  • Concatenate and minify JS resources into two files
  • Concatenate, optimize and minify custom CSS files
  • Archive production-ready zip of project

For information on gulp refer to: https://github.com/gulpjs/gulp

package.json

npm depencenies for project.

Screenshots

To be added later.

Alt text

Alt text

mstrweblogparser's People

Contributors

qbkjovfnek avatar sedano avatar tiagosiebler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sedano goskam

mstrweblogparser's Issues

Add support for MACfgWiz.xml logs

They have a nicely parsable XML format:

<log4j:event logger="MACfgWiz" timestamp="1486397437704" level="ERROR" thread="main">
<log4j:message><![CDATA[Could not load MFHCNat
	class java.lang.UnsatisfiedLinkError: D:\Program Files (x86)\Common Files\MicroStrategy\HealthCenter\jars\MFHCNat.DLL: Can't find dependent libraries
	java.lang.UnsatisfiedLinkError: D:\Program Files (x86)\Common Files\MicroStrategy\HealthCenter\jars\MFHCNat.DLL: Can't find dependent libraries
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
	at java.lang.Runtime.loadLibrary0(Runtime.java:870)
	at java.lang.System.loadLibrary(System.java:1122)
	at com.microstrategy.utils.registry.LoadLibrary.loadLibrary(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.microstrategy.tools.mcdgnstc.plugins.utils.registry.LoadLibrary.loadLibrary(LoadLibrary.java:21)
	at com.microstrategy.tools.mcdgnstc.baseobjects.util.FileUtilities.<clinit>(FileUtilities.java:56)
	at com.microstrategy.tools.macfgwiz.ui.common.hccomponents.DiagnosticsConfig.readFromXML(Unknown Source)
	at com.microstrategy.tools.macfgwiz.ui.common.hccomponents.DiagnosticsConfig.<init>(Unknown Source)
	at com.microstrategy.tools.macfgwiz.ui.common.hccomponents.DiagnosticsConfig.<init>(Unknown Source)
	at com.microstrategy.tools.macfgwiz.backbone.base.CfgWizOperationFactory.<init>(Unknown Source)
	at com.microstrategy.tools.macfgwiz.backbone.base.CfgWizOperationFactory.getInstance(Unknown Source)
	at com.microstrategy.tools.macfgwiz.backbone.responsefile.ResponseFileSingleton.<init>(Unknown Source)
	at com.microstrategy.tools.macfgwiz.backbone.responsefile.ResponseFileSingleton.getInstance(Unknown Source)
	at com.microstrategy.tools.macfgwiz.ui.common.ConfigurationProcedure.retrieveFromINIAndRun(Unknown Source)
	at com.microstrategy.tools.macfgwiz.ui.cmdline.MACfgConsole.main(Unknown Source)

]]></log4j:message>
</log4j:event>

Replace pastebox with paste event

Looks like you can listen to page-level paste events:

  document.addEventListener("paste", function(e) {
    // cancel paste
    e.preventDefault();
    // get text representation of clipboard
    var text = (e.originalEvent || e).clipboardData.getData('text/plain');

    // do stuff
  });

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.