diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..333a029
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,34 @@
+# This file is for unifying the coding style for different editors and IDEs
+# EditorConfig is awesome: http://EditorConfig.org
+
+root = true
+
+[*.java]
+indent_style = space
+indent_size = 3
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.{js,css}]
+indent_style = tab
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.jsp]
+charset = utf-8
+indent_style = space
+indent_size = 3
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[*.json]
+indent_style = space
+indent_size = 2
+
+[*.md]
+trim_trailing_whitespace = false
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 2261ef4..1a9d022 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,6 @@ log4js-site/build/
/log4js-servlet/nbproject/
/log4js/nbproject/private/
log4js/.cache/
+log4js-servlet/out/
+.idea/
+.gradle/
diff --git a/.travis.yml b/.travis.yml
index 587e826..29dab1a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -25,13 +25,22 @@ before_script:
script:
- grunt --gruntfile "Gruntfile.js" build
deploy:
- provider: releases
- api_key:
- secure: iKdorqXgiTH3RcLLNj8Q4AoRWxpYA6yT7YDYKnuORz3tcAvHrIBmt+ff6h5zsn2JVGkFamc0njfYdrOfLdc4+cQQfQVq80OhJJnkIQ0WgOtG0yt+yVHKb8lWBGr9P0lMvvBuROsuxGl9jPcgkUTtuvxHoJ3T24WlLDGXJSWdCzw=
- file_glob: true
- file: target/*.zip
- skip_cleanup: true
- on:
- repo: stritti/log4js
- branch: master
- tags: true
+ - provider: npm
+ email: stephan@st-strittmatter.name
+ api_key:
+ secure: NQyGsxZKqApzTxBjsXMI/2drQcCF8s38iuofEL/wbATWC9Y9ggfI6oyd/tqqyYrgouBoSqHPSOEP4ghe381yrO9jlnJMiwzmLqVivZAAe4x2DI3nrlaz+AFcvTpf/36T4LFevTP3Lh6LoVGRrKnfRCjQzfBv0hYOLtjNCc/zjeU=
+ file_glob: true
+ file: target/*.zip
+ skip_cleanup: true
+ on:
+ tags: true
+ repo: stritti/log4js
+ - provider: releases
+ api_key:
+ secure: iKdorqXgiTH3RcLLNj8Q4AoRWxpYA6yT7YDYKnuORz3tcAvHrIBmt+ff6h5zsn2JVGkFamc0njfYdrOfLdc4+cQQfQVq80OhJJnkIQ0WgOtG0yt+yVHKb8lWBGr9P0lMvvBuROsuxGl9jPcgkUTtuvxHoJ3T24WlLDGXJSWdCzw=
+ file_glob: true
+ file: target/*.zip
+ skip_cleanup: true
+ on:
+ repo: stritti/log4js
+ tags: true
\ No newline at end of file
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
deleted file mode 100644
index 827fd52..0000000
--- a/CHANGELOG.txt
+++ /dev/null
@@ -1 +0,0 @@
-Moved to status.xml
\ No newline at end of file
diff --git a/INSTALL.txt b/INSTALL.txt
deleted file mode 100644
index 0bd53c4..0000000
--- a/INSTALL.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-
-============
-Using log4js
-============
-
-1) First untar or unzip the distribution file.
-
-2) Assuming you chose to extract the distribution in to the
- PATH_OF_YOUR_CHOICE, untarring the distribution file should create
- a logging-log4js-VERSION directory, where VERSION is the log4js
- version number, under PATH_OF_YOUR_CHOICE. We will refer to the
- directory PATH_OF_YOUR_CHOICE/log4js-VERSION/ as $LOG4JS_HOME/.
-
-@TODO
-
-==================
-log4js dependencies
-==================
-
-Log4js is based on EMCA Script (JavaScript) with the following additional
-requirements:
-
- ----------------------------
- JSDoc
- ----------------------------
-
- JSDoc is a Perl implementation to generate API documentation for JavaScripts.
- It is available at http://jsdoc.sf.net
-
- ----------------------------
- Package ANT
- ----------------------------
-
- ANT is a Java based make tool to generate the releases. It is availabel
- at http://ant.apache.org
-
- ----------------------------
- Package log4j.jar
- ----------------------------
-
- log4j.jar is the logging API for Java. It is only required for the
- AJAXAppender example to log the messages on server side.
-
-
-===============
-Building log4js
-===============
-
-Like most java appilicatios today, log4js relies on ANT as its build
-tool. ANT is availale from "http://ant.apache.org/". ANT
-requires a build file called build.xml which is part of this
-distribution.
\ No newline at end of file
diff --git a/NOTICE.txt b/NOTICE.txt
deleted file mode 100644
index 35fb908..0000000
--- a/NOTICE.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-This product includes source code based on ...
diff --git a/README.md b/README.md
index bc93290..e6082e8 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
Log4js
======
-Log4js - The Logging Framework for JavaScript
+Log4js - The Logging Framework for JavaScript with no runtime dependencies
## Usage
@@ -33,6 +33,21 @@ consoleLog.trace('I was traced!')
Within sources there is a more detailed [example](log4js/src/main/example/index.html).
## Development
+
+The project is seperated in modules. Core JavaScript module is located in subdirectory `log4js`
+
+### Structure
+````
+├───log4js: Main JavaScript Log4js module
+├───log4js-servlet: Java Servlet to collect AJAX-Logs serverside
+├───log4js-solr: configuration to collect logs using Apache SOLR
+├───log4js-site: (outdated) project documentation
+
+````
+
+### Log4js
+> Main JavaScript module
+
To build the JavaScript library we use [npm](https://www.npmjs.com/) and [grunt](https://gruntjs.com/).
````
@@ -45,9 +60,19 @@ Include then the `target/log4js.min.js` file in your project.
More details in the [Wiki](https://github.com/stritti/log4js/wiki/Development)
+### Log4js Servlet
+
+The servlet is Java based project which is compiled using `maven`.
+
+### Log4js SOLR
+
+For more details see [README.md](log4js-solr/README.md) in the subdirectory [log4js-solr](log4js-solr)
+
+### Log4js Site
+
## Contribution
-Pull Requests are very welcome.
+[Pull Requests](https://github.com/stritti/log4js/pulls) are very welcome.
## Other JavaScript Logger
There are a lot other projects which are started logging in JavaScript:
diff --git a/build.properties b/build.properties
deleted file mode 100644
index f986212..0000000
--- a/build.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-tools.commons-logging.version=1.1
-tools.jsdoc.version=1.10.2
-tools.jsl.version=0.3.0
-tools.jstester.version=1.3-jdk15
-tools.jsunit.version=2_1
-tools.junit.version=4.3
-tools.log4j.version=1.2.13
-tools.rhino.version=1.6R3
-tools.servlet-api.version=2.4
-version=1.0
diff --git a/build.xml b/build.xml
deleted file mode 100644
index d4c4c9f..0000000
--- a/build.xml
+++ /dev/null
@@ -1,392 +0,0 @@
-
-
-
-
-
- ANT build file for Log4js, the logging library for JavaScript which is
- using almost same API than log4j.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- generate complete distribution archives: ${release.dir}/log4js-${version}.zip
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copy users guide to archive...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Generate example web archive: ${dist.dir}/${example.war.name}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Generate documentation archive: ${dist.dir}/log4js-doc-${version}.zip
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Warning!!! This task is renamed into jshint for new library is used
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- To use this Maven-like freedom with respect to dependency setup,
- do the following:
-
- - run ant as you normally would, but add the following target to the command
- line:
-
- download-dependencies
-
- For example:
- C:>myproject\ant download-dependencies dist
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Copy robots.txt into the site...
-
-
-
-
-
-
- Copy api-doc into the site...
-
-
-
-
-
-
- Copy example into the site...
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/log4js-servlet/build.gradle b/log4js-servlet/build.gradle
new file mode 100644
index 0000000..9f4af7d
--- /dev/null
+++ b/log4js-servlet/build.gradle
@@ -0,0 +1,33 @@
+
+
+apply plugin: 'java'
+apply plugin: 'war'
+apply plugin: 'jacoco'
+apply plugin: 'eclipse'
+apply plugin: 'idea'
+
+group = 'de.log4js'
+version = '2.0.0Beta1'
+sourceCompatibility = 1.8
+
+repositories {
+ mavenCentral()
+}
+
+
+dependencies {
+
+ compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
+ compile group: 'commons-io', name: 'commons-io', version: '2.6'
+ compile group: 'com.google.code.gson', name: 'gson', version: '2.7'
+ compile group: 'javax.servlet', name: 'servlet-api', version: '2.5'
+ compile group: 'javax.servlet.jsp', name: 'jsp-api', version: '2.1'
+
+ testCompile group: 'junit', name: 'junit', version: '4.12'
+
+}
+
+compileJava {
+ options.encoding = 'UTF-8'
+ options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
+}
diff --git a/log4js-servlet/build.properties b/log4js-servlet/build.properties
deleted file mode 100644
index 25995fa..0000000
--- a/log4js-servlet/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-#Created by JInto - www.guh-software.de
-#Sat Aug 11 14:48:33 CEST 2007
-tools.commons-beanutils.version=1.7.0
-tools.commons-collections.version=3.2
-tools.commons-lang.version=2.3
-tools.commons-logging.version=1.1
-tools.ezmorph.version=1.0.2
-tools.json-lib.version=2.0-jdk15
-tools.junit.version=4.3
-tools.log4j.version=1.2.13
-tools.servlet-api.version=2.4
-version=1.0-RC1
diff --git a/log4js-servlet/build.xml b/log4js-servlet/build.xml
deleted file mode 100644
index c30104c..0000000
--- a/log4js-servlet/build.xml
+++ /dev/null
@@ -1,307 +0,0 @@
-
-
-
-
-
- ANT build file for Log4js-servlet.
- Log4js-servlet is the servlet to store clients loggs on server.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- generate distribution archives
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- To use this Maven-like freedom with respect to dependency setup,
- do the following:
-
- - run ant as you normally would, but add the following target to the command
- line:
-
- download-dependencies
-
- For example:
- C:>myproject\ant download-dependencies dist
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/log4js-servlet/gradle/wrapper/gradle-wrapper.jar b/log4js-servlet/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 0000000..1ce6e58
Binary files /dev/null and b/log4js-servlet/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/log4js-servlet/gradle/wrapper/gradle-wrapper.properties b/log4js-servlet/gradle/wrapper/gradle-wrapper.properties
new file mode 100644
index 0000000..1c55f4b
--- /dev/null
+++ b/log4js-servlet/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Mon Sep 24 15:52:08 CEST 2018
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-all.zip
diff --git a/log4js-servlet/gradlew b/log4js-servlet/gradlew
new file mode 100644
index 0000000..4453cce
--- /dev/null
+++ b/log4js-servlet/gradlew
@@ -0,0 +1,172 @@
+#!/usr/bin/env sh
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save ( ) {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+ cd "$(dirname "$0")"
+fi
+
+exec "$JAVACMD" "$@"
diff --git a/log4js-servlet/gradlew.bat b/log4js-servlet/gradlew.bat
new file mode 100644
index 0000000..f955316
--- /dev/null
+++ b/log4js-servlet/gradlew.bat
@@ -0,0 +1,84 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/log4js-servlet/pom.xml b/log4js-servlet/pom.xml
deleted file mode 100644
index a428a87..0000000
--- a/log4js-servlet/pom.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-
-
- 4.0.0
- de.log4js
- log4js
- Log4js
- war
- 2.0.0Beta1
-
- https://github.com/stritti/log4js.git
- https://github.com/stritti/log4js
-
-
- 1.7
- UTF-8
- src/main/resources/sybit-checkstyle.xml
-
-
-
-
-
- javax.servlet
- servlet-api
- 2.5
- provided
-
-
- javax.servlet.jsp
- jsp-api
- 2.1
- provided
-
-
- log4j
- log4j
- 1.2.17
-
-
-
-
- junit
- junit
- 4.12
- test
-
-
- com.google.code.gson
- gson
- 2.3.1
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 2.5.1
-
-
- ${java-version}
- -Xlint:all
- true
- true
- ${project.build.sourceEncoding}
-
-
-
- org.codehaus.mojo
- exec-maven-plugin
- 1.2.1
-
- org.test.int1.Main
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
- 2.4.3
-
- ${project.build.sourceEncoding}
-
-
-
- org.jacoco
- jacoco-maven-plugin
- 0.7.2.201409121644
-
-
-
- CLASS
-
- *Test
-
-
-
-
-
-
- default-prepare-agent
-
- prepare-agent
-
-
-
- default-report
- prepare-package
-
- report
-
-
-
- default-check
-
- check
-
-
-
-
-
-
-
-
-
-
- org.codehaus.mojo
- findbugs-maven-plugin
- 3.0.0
-
- true
- ${project.build.directory}
-
- target/site
- src/main/resources/findbugs-excludes.xml
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
- 2.15
-
- false
- ${checkstyle.config.location}
-
-
-
-
- checkstyle
-
-
-
-
-
-
-
diff --git a/log4js-servlet/settings.gradle b/log4js-servlet/settings.gradle
new file mode 100644
index 0000000..8ca781a
--- /dev/null
+++ b/log4js-servlet/settings.gradle
@@ -0,0 +1 @@
+rootProject.name = 'log4js'
diff --git a/log4js-servlet/src/main/java/de/log4js/Log4jsServlet.java b/log4js-servlet/src/main/java/de/log4js/Log4jsServlet.java
index 5170023..277dc08 100644
--- a/log4js-servlet/src/main/java/de/log4js/Log4jsServlet.java
+++ b/log4js-servlet/src/main/java/de/log4js/Log4jsServlet.java
@@ -13,23 +13,22 @@
*/
package de.log4js;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import de.log4js.adapter.Adapter;
+import de.log4js.parser.EventParser;
+import de.log4js.parser.ParseException;
+import de.log4js.parser.XmlEventParser;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
-import de.log4js.adapter.Adapter;
-import de.log4js.parser.EventParser;
-import de.log4js.parser.ParseException;
-import de.log4js.parser.XmlEventParser;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
/**
* Servlet to log the Log4js events send by AJAXAppender.
@@ -161,12 +160,9 @@ public String getServletInfo() {
* parameters.
*
* @return Instance of adapter.
- * @throws InstantiationException
- * @throws IllegalAccessException
- * @throws ClassNotFoundException
*/
@SuppressWarnings("unchecked")
- protected Adapter getAdapter() throws InstantiationException,
+ private Adapter getAdapter() throws InstantiationException,
IllegalAccessException, ClassNotFoundException {
String a = this.getServletConfig().getInitParameter("logging.adapter");
@@ -189,11 +185,11 @@ protected Adapter getAdapter() throws InstantiationException,
* @throws IllegalAccessException
*/
@SuppressWarnings("unchecked")
- protected EventParser getParser(String contentType)
+ private EventParser getParser(String contentType)
throws ClassNotFoundException, InstantiationException,
IllegalAccessException {
- String strippedContentType = contentType.split(";")[0];
+ String strippedContentType = contentType.split(";")[0];
EventParser parser = this.parserList.get(strippedContentType);
diff --git a/log4js-servlet/src/main/java/de/log4js/adapter/JavaLoggingAdapter.java b/log4js-servlet/src/main/java/de/log4js/adapter/JavaLoggingAdapter.java
index 65e3c5e..2a2251b 100644
--- a/log4js-servlet/src/main/java/de/log4js/adapter/JavaLoggingAdapter.java
+++ b/log4js-servlet/src/main/java/de/log4js/adapter/JavaLoggingAdapter.java
@@ -13,11 +13,11 @@
*/
package de.log4js.adapter;
+import de.log4js.LoggingEvent;
+
import java.util.logging.Level;
import java.util.logging.Logger;
-import de.log4js.LoggingEvent;
-
/**
* Adapter to log using Java logging.
*
diff --git a/log4js-servlet/src/main/java/de/log4js/adapter/Log4jAdapter.java b/log4js-servlet/src/main/java/de/log4js/adapter/Log4jAdapter.java
index 4726f46..485f282 100644
--- a/log4js-servlet/src/main/java/de/log4js/adapter/Log4jAdapter.java
+++ b/log4js-servlet/src/main/java/de/log4js/adapter/Log4jAdapter.java
@@ -26,10 +26,11 @@
*/
package de.log4js.adapter;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
import de.log4js.LoggingEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* Adapter to log using Apache Log4j logging.
@@ -42,13 +43,13 @@ public class Log4jAdapter implements Adapter {
private Logger logger;
/**
- * @see de.berlios.log4js.adapter.Adapter#logEvent(de.berlios.log4js.LoggingEvent)
+ * @see de.log4js.adapter.Adapter#logEvent(de.log4js.LoggingEvent)
*/
public void logEvent(LoggingEvent loggingEvent) {
String msg;
- this.logger = Logger.getLogger(loggingEvent.getCategoryName());
+ this.logger = LoggerFactory.getLogger(loggingEvent.getCategoryName());
if (loggingEvent.getException() != null) {
msg = loggingEvent.getMessage() + " -- EXCEPTION:\t"
@@ -59,27 +60,27 @@ public void logEvent(LoggingEvent loggingEvent) {
switch (loggingEvent.getLogLevel()) {
case ERROR:
- this.logger.log(Level.ERROR, msg);
+ this.logger.error( msg);
break;
case DEBUG:
- this.logger.log(Level.DEBUG, msg);
+ this.logger.debug( msg);
break;
case FATAL:
- this.logger.log(Level.FATAL, msg);
+ this.logger.error( msg);
break;
case INFO:
- this.logger.log(Level.INFO, msg);
+ this.logger.info( msg);
break;
case TRACE:
- this.logger.log(Level.TRACE, msg);
+ this.logger.trace( msg);
break;
case WARN:
- this.logger.log(Level.WARN, msg);
+ this.logger.warn(msg);
break;
default:
diff --git a/log4js-servlet/src/main/java/de/log4js/parser/EventParser.java b/log4js-servlet/src/main/java/de/log4js/parser/EventParser.java
index d9185cf..9bd71b3 100644
--- a/log4js-servlet/src/main/java/de/log4js/parser/EventParser.java
+++ b/log4js-servlet/src/main/java/de/log4js/parser/EventParser.java
@@ -13,13 +13,11 @@
*/
package de.log4js.parser;
+import de.log4js.LoggingEvent;
+
import java.io.InputStream;
import java.util.List;
-import javax.xml.parsers.ParserConfigurationException;
-
-import de.log4js.LoggingEvent;
-
/**
* Interface of event parser.
*
diff --git a/log4js-servlet/src/main/java/de/log4js/parser/JsonEventParser.java b/log4js-servlet/src/main/java/de/log4js/parser/JsonEventParser.java
index 252bbf3..44d783f 100644
--- a/log4js-servlet/src/main/java/de/log4js/parser/JsonEventParser.java
+++ b/log4js-servlet/src/main/java/de/log4js/parser/JsonEventParser.java
@@ -13,17 +13,15 @@
*/
package de.log4js.parser;
+import com.google.gson.Gson;
+import com.google.gson.JsonObject;
+import de.log4js.LoggingEvent;
+
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
-import java.util.Iterator;
import java.util.List;
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-import de.log4js.LogLevel;
-import de.log4js.LoggingEvent;
-
/**
* Parser to parse JSON of log4js events.
*
@@ -34,38 +32,23 @@
*/
public class JsonEventParser implements EventParser {
+ private Gson gson = new Gson();
+
/**
- * @see de.berlios.log4js.parser.EventParser#parse(java.lang.String)
+ * @see de.log4js.parser.EventParser#parse(java.lang.String)
*/
@SuppressWarnings("unchecked")
public List parse(String input) throws ParseException {
List eventList = new ArrayList();
- JSONObject json = JSONObject.fromObject(input);
- JSONArray root = (JSONArray) json.get("Log4js");
- Iterator eventIterator = root.iterator();
-
- while (eventIterator.hasNext()) {
- JSONObject elem = (JSONObject) (eventIterator.next())
- .get("LoggingEvent");
- LoggingEvent event = new LoggingEvent();
- event.setCategoryName(elem.getString("logger"));
- event.setException(elem.getString("exception"));
- event.setLogLevel(LogLevel.valueOf(elem.getString("level")));
- event.setMessage(elem.getString("message"));
- event.setReferer(elem.getString("referer"));
- event.setUserAgent(elem.getString("useragent"));
- event.setTimestamp(elem.getString("timestamp"));
+ LoggingEvent json = gson.fromJson(input, LoggingEvent.class);
- eventList.add(event);
-
- }
return eventList;
}
/**
- * @see de.berlios.log4js.parser.EventParser#parse(java.io.InputStream)
+ * @see de.log4js.parser.EventParser#parse(java.io.InputStream)
*/
public List parse(InputStream is) throws ParseException {
@@ -96,12 +79,12 @@ public String getResponseHeader() {
public String getResponse(String state, String message, Throwable throwable) {
- JSONObject json = new JSONObject();
- json.put("state", state);
- json.put("response", message);
+ JsonObject json = new JsonObject();
+ json.addProperty("state", state);
+ json.addProperty("response", message);
if(throwable != null) {
- json.put("stacktrace", throwable.getStackTrace());
+ json.addProperty("stacktrace", "" + throwable.getStackTrace());
}
return json.toString();
}
diff --git a/log4js-servlet/src/main/java/de/log4js/parser/XmlEventParser.java b/log4js-servlet/src/main/java/de/log4js/parser/XmlEventParser.java
index 1373ee6..5091c27 100644
--- a/log4js-servlet/src/main/java/de/log4js/parser/XmlEventParser.java
+++ b/log4js-servlet/src/main/java/de/log4js/parser/XmlEventParser.java
@@ -13,47 +13,47 @@
*/
package de.log4js.parser;
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
+import de.log4js.LogLevel;
+import de.log4js.LoggingEvent;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
-import de.log4js.LogLevel;
-import de.log4js.LoggingEvent;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.List;
/**
* Parser to parse XML of log4js events.
*
* @author Stephan Strittmatter
- * @created 02.08.2007
- *
- * @history 02.08.2007 Stephan Strittmatter created
+ * @since 02.08.2007
+ *
*/
public class XmlEventParser implements EventParser {
/**
- * @see de.berlios.log4js.parser.EventParser#parse(java.lang.String)
+ * @see de.log4js.parser.EventParser#parse(java.lang.String)
*/
public List parse(String xml) throws ParseException {
+ if(xml == null) {
+ throw new IllegalArgumentException("xml was null");
+ }
InputStream is = new ByteArrayInputStream(xml.getBytes());
return parse(is);
}
/**
- * @see de.berlios.log4js.parser.EventParser#parse(java.io.InputStream)
+ * @see de.log4js.parser.EventParser#parse(java.io.InputStream)
*/
public List parse(InputStream is) throws ParseException {
diff --git a/log4js-servlet/src/main/webapp/WEB-INF/web.xml b/log4js-servlet/src/main/webapp/WEB-INF/web.xml
index 5d1f18d..b125d87 100644
--- a/log4js-servlet/src/main/webapp/WEB-INF/web.xml
+++ b/log4js-servlet/src/main/webapp/WEB-INF/web.xml
@@ -26,7 +26,7 @@
Log4js Servlet
- de.berlios.log4js.Log4jsServlet
+ de.log4js.Log4jsServlet
@@ -36,19 +36,19 @@
de.berlios.log4js.adapter.Log4jAdapter
logging.adapter
- de.berlios.log4js.adapter.Log4jAdapter
+ de.log4js.adapter.Log4jAdapter
Parser implementation for XML data.
parser.text/xml
- de.berlios.log4js.parser.XmlEventParser
+ de.log4js.parser.XmlEventParser
Parser implementation for JSON data.
parser.text/json
- de.berlios.log4js.parser.JsonEventParser
+ de.log4js.parser.JsonEventParser
diff --git a/log4js-servlet/src/test/java/de/log4js/Log4jsServletTest.java b/log4js-servlet/src/test/java/de/log4js/Log4jsServletTest.java
index 3bf8c10..3c1e325 100644
--- a/log4js-servlet/src/test/java/de/log4js/Log4jsServletTest.java
+++ b/log4js-servlet/src/test/java/de/log4js/Log4jsServletTest.java
@@ -13,19 +13,14 @@
*/
package de.log4js;
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-
-import junit.framework.TestCase;
-
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import de.log4js.Log4jsServlet;
+import javax.servlet.ServletException;
+import java.io.IOException;
-public class Log4jsServletTest extends TestCase {
+public class Log4jsServletTest {
Log4jsServlet servlet;
diff --git a/log4js-servlet/src/test/java/de/log4js/adapter/JavaLoggingAdapterTest.java b/log4js-servlet/src/test/java/de/log4js/adapter/JavaLoggingAdapterTest.java
index 6bfbeac..1addac0 100644
--- a/log4js-servlet/src/test/java/de/log4js/adapter/JavaLoggingAdapterTest.java
+++ b/log4js-servlet/src/test/java/de/log4js/adapter/JavaLoggingAdapterTest.java
@@ -13,10 +13,10 @@
*/
package de.log4js.adapter;
-import static org.junit.Assert.*;
-
import org.junit.Test;
+import static org.junit.Assert.fail;
+
public class JavaLoggingAdapterTest {
@Test
diff --git a/log4js-servlet/src/test/java/de/log4js/adapter/Log4jAdapterTest.java b/log4js-servlet/src/test/java/de/log4js/adapter/Log4jAdapterTest.java
index 7bf1263..273449a 100644
--- a/log4js-servlet/src/test/java/de/log4js/adapter/Log4jAdapterTest.java
+++ b/log4js-servlet/src/test/java/de/log4js/adapter/Log4jAdapterTest.java
@@ -13,10 +13,10 @@
*/
package de.log4js.adapter;
-import static org.junit.Assert.*;
-
import org.junit.Test;
+import static org.junit.Assert.fail;
+
public class Log4jAdapterTest {
@Test
diff --git a/log4js-servlet/src/test/java/de/log4js/parser/JsonEventParserTest.java b/log4js-servlet/src/test/java/de/log4js/parser/JsonEventParserTest.java
index d355085..040aba1 100644
--- a/log4js-servlet/src/test/java/de/log4js/parser/JsonEventParserTest.java
+++ b/log4js-servlet/src/test/java/de/log4js/parser/JsonEventParserTest.java
@@ -14,13 +14,12 @@
package de.log4js.parser;
-import java.util.List;
-
+import de.log4js.LogLevel;
+import de.log4js.LoggingEvent;
import org.junit.Assert;
import org.junit.Test;
-import de.log4js.LogLevel;
-import de.log4js.LoggingEvent;
+import java.util.List;
public class JsonEventParserTest {
diff --git a/log4js-servlet/src/test/java/de/log4js/parser/XmlEventParserTest.java b/log4js-servlet/src/test/java/de/log4js/parser/XmlEventParserTest.java
index a8e2e28..c5d1b3b 100644
--- a/log4js-servlet/src/test/java/de/log4js/parser/XmlEventParserTest.java
+++ b/log4js-servlet/src/test/java/de/log4js/parser/XmlEventParserTest.java
@@ -13,18 +13,15 @@
*/
package de.log4js.parser;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.junit.Assert;
-import org.junit.Test;
-
import de.log4js.LogLevel;
import de.log4js.LoggingEvent;
import de.log4js.TestUtil;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.List;
-public class XmlEventParserTest extends TestCase {
+public class XmlEventParserTest {
@Test
diff --git a/log4js/.babelrc b/log4js/.babelrc
new file mode 100644
index 0000000..f9f2a02
--- /dev/null
+++ b/log4js/.babelrc
@@ -0,0 +1,3 @@
+{
+ "presets": [ "es2015" ]
+}
\ No newline at end of file
diff --git a/log4js/.eslintrc b/log4js/.eslintrc
new file mode 100644
index 0000000..3dc2293
--- /dev/null
+++ b/log4js/.eslintrc
@@ -0,0 +1,8 @@
+{
+ "extends": "airbnb",
+ "rules": {
+ "id-length": [2, {
+ "exceptions": ["_"]
+ }]
+ }
+}
\ No newline at end of file
diff --git a/log4js/package.json b/log4js/package.json
index a84317a..f56dd4b 100644
--- a/log4js/package.json
+++ b/log4js/package.json
@@ -7,6 +7,11 @@
"authors": [
"stritti (https://github.com/stritti)"
],
+ "scripts": {
+ "watch": "grunt watch",
+ "build": "grunt build",
+ "test": "grunt test"
+ },
"repository": {
"type": "git",
"url": "https://github.com/stritti/log4js.git"
@@ -20,6 +25,9 @@
],
"license": "Apache-2.0",
"homepage": "http://stritti.github.io/log4js/",
+ "bugs": {
+ "url": "https://github.com/stritti/log4js/issues"
+ },
"ignore": [
"**/.*",
"node_modules",
diff --git a/log4js/src/main/js/appender.js b/log4js/src/main/js/appender.js
index b51e92d..6a24e8f 100644
--- a/log4js/src/main/js/appender.js
+++ b/log4js/src/main/js/appender.js
@@ -5,7 +5,6 @@
* It is doing nothing.
*
* @constructor
- * @param {Log4js.Logger} logger log4js instance this appender is attached to
* @author Stephan Strittmatter
*/
Log4js.Appender = function () {
@@ -41,7 +40,7 @@ Log4js.Appender.prototype = {
},
/**
* Set reference to the logger.
- * @param {Log4js.Logger} the invoking logger
+ * @param {Log4js.Logger} logger The invoking logger
*/
setLogger: function(logger){
// add listener to the logger methods
diff --git a/nbproject/project.properties b/nbproject/project.properties
deleted file mode 100644
index 024c098..0000000
--- a/nbproject/project.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-include.path=${php.global.include.path}
-php.version=PHP_53
-source.encoding=UTF-8
-src.dir=.
-tags.asp=false
-tags.short=false
-web.root=.
diff --git a/nbproject/project.xml b/nbproject/project.xml
deleted file mode 100644
index f3cc8ff..0000000
--- a/nbproject/project.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
- org.netbeans.modules.php.project
-
-
- Log4js
-
-
-