<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<!--
    Contributor(s): Dies Koper (Fujitsu Ltd.)
-->

<project name="utils" basedir=".">

<target name="check-logged-messages" description="Check server.log for message issues">
    <!--
        Process:
        - set up regexp for each type of issue (using <property> instead of <regexp>
          as latter cannot be used in <replaceregex>)
        - load exclude list (add -Dlog.msg.excl.path=other-list.txt to load another
          list (or empty file to include all messages)
        - copy server.log to temp file while removing messages from exclude list
        - search temp file for each type of issue and report
        - at the end, fail if any issue found
    -->

    <property file="../build.properties"/>

    <property name="server.log.path" location="${glassfish.home}/domains/domain1/logs/server.log"/>
    <property name="log.msg.excl.path" location="gfproject/log_msg_excl.txt"/>
    <tempfile property="log.msg.tmp.path" destdir="../test-output" prefix="server_log_filtered" deleteonexit="true"/>

    <!-- prepare regex patterns to detect missing Ids, typos, etc. -->
    <!-- like in IT 11637 -->
    <property name="msg_with_id" value="\[#\|\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\d\D\d\d\d\d\|(INFO|WARNING|SEVERE)\|[\w.]+?\|.+?\|.*?\|\w+\d+\s?:\s?.*?\|#\]"/>
    <!-- like in IT 11627, 11545, 6988, 7004, 7001, 9883, 9910, 9147, 10998 -->
    <property name="msg_key" value="\[#\|\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\d\D\d\d\d\d\|(INFO|WARNING|SEVERE)\|[\w.]+?\|.+?\|.*?\|(\w+\.)+\w*\|#\]"/>
    <!-- like in IT 7141 -->
    <property name="msg_not_found" value="\[#\|\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\d\D\d\d\d\d\|(INFO|WARNING|SEVERE)\|[\w.]+?\|.+?\|.*?\|No local string defined\|#\]"/>
    <!-- like in IT 9922, 11542 -->
    <property name="bundle_not_found_msg" value="\[#\|\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\d\D\d\d\d\d\|(INFO|WARNING|SEVERE)\|[\w.]+?\|.+?\|.*?\|Can not find resource bundle for this logger\.\|#\]"/>
    <!-- like in IT 9266, 8285 -->
    <property name="null_or_empty_msg" value="\[#\|\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\d\D\d\d\d\d\|(INFO|WARNING|SEVERE)\|[\w.]+?\|.+?\|.*?\|(null|The log message is null)?\|#\]"/>
    <!-- like in IT 10884 -->
    <property name="msg_common_typos" value="\[#\|\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\d\D\d\d\d\d\|(INFO|WARNING|SEVERE)\|[\w.]+?\|.+?\|.*?\|.*?(occure| dont ).*?\|#\]"/>
    <!-- like in IT 7053, 6990, 6989, 7002, 10038, 10769 -->
    <property name="msg_unsubst_param" value="\[#\|\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\d\D\d\d\d\d\|(INFO|WARNING|SEVERE)\|[\w.]+?\|.+?\|.*?\|.*?\{\d\}.*?\|#\]"/>
    <!-- like in IT 9896, 9212 -->
    <property name="msg_double_apos" value="\[#\|\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d\.\d\d\d\D\d\d\d\d\|(INFO|WARNING|SEVERE)\|[\w.]+?\|.+?\|.*?\|.*?\w''\w.*?\|#\]"/>
    <!-- example msg for reference to understand above regex's:
    [#|2010-05-15T15:07:39.453+1000|INFO|glassfishv3.0|javax.enterprise.resource.jta.com.sun.enterprise.transaction|_ThreadID=15;_ThreadName=Thread-1;|DTX5019: Using [com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate] as the delegate|#]
    [#|yyyy-mm-ddTHH:mm:ss:SSS-ZZZZ|Level|ProductId|Logger Name|Name Value Pairs|MsgId: Message|#]
    -->

    <echo>Checking messages in:
    ${server.log.path}
    </echo>

    <!-- load file that lists excluded loggers, messages, message fragments and convert to regex 'OR' pattern -->
    <loadfile srcfile="${log.msg.excl.path}" property="log_msg_excl" failonerror="false">
      <filterchain>
    <striplinecomments>
      <comment value="#"/>
    </striplinecomments>
    <ignoreblank/>
        <prefixlines prefix="|"/>
        <striplinebreaks/>
      </filterchain>
    </loadfile>
    <!-- Following regex is explained here http://www.regular-expressions.info/completelines.html -->
    <property name="excl_msgs" value="^(?:(?!dummymsg${log_msg_excl}).)*$"/>
    <!--echo>excl_msgs: ${excl_msgs}</echo-->
    <!-- copy log file, filter excluded loggers and messages (start-up, stacktrace, etc.) -->
    <!-- further checks are based on this file -->
    <copy file="${server.log.path}" tofile="${log.msg.tmp.path}" overwrite="true">
        <filterchain>
            <linecontainsregexp>
                <regexp pattern="${excl_msgs}"/>
            </linecontainsregexp>
            <ignoreblank/>
            <!-- also exclude lines that do not start with [#|nnnn as they are probably
                 multi-line messages, stacktraces, etc. continuing from the previous line -->
            <linecontainsregexp>
                <regexp pattern="^\[#\|\d\d\d\d.*"/>
            </linecontainsregexp>
        </filterchain>
    </copy>

    <!-- extract and report message keys and other issues-->
    <filter-log-file srcfile="${log.msg.tmp.path}" property="lines_with_msg_key" regexp="${msg_key}">
* Message keys logged instead of message:
    </filter-log-file>

    <filter-log-file srcfile="${log.msg.tmp.path}" property="lines_with_msg_unsubst_param" regexp="${msg_unsubst_param}">
* Parameter marker not substituted with value:
    </filter-log-file>

    <filter-log-file srcfile="${log.msg.tmp.path}" property="lines_with_bundle_not_found_msg" regexp="${bundle_not_found_msg}">
* Bundle not found:
    </filter-log-file>

    <filter-log-file srcfile="${log.msg.tmp.path}" property="lines_with_msg_not_found" regexp="${msg_not_found}">
* Messages not found in message bundle:
    </filter-log-file>

    <filter-log-file srcfile="${log.msg.tmp.path}" property="lines_with_null_or_empty_msg" regexp="${null_or_empty_msg}">
* No message:
    </filter-log-file>

    <filter-log-file srcfile="${log.msg.tmp.path}" property="lines_with_msg_common_typos" regexp="${msg_common_typos}">
* Messages with common typo's ('occured' with one 'r', 'dont' missing apostrophe, etc.):
    </filter-log-file>

    <filter-log-file srcfile="${log.msg.tmp.path}" property="lines_with_msg_double_apos" regexp="${msg_double_apos}">
* Messages with double apostrophes:
    </filter-log-file>

    <!-- filter excluded loggers and messages for correct messages and already reported issues to find remaining issues -->
    <loadfile srcfile="${log.msg.tmp.path}" property="remaining_messages">
        <filterchain>
            <replaceregex pattern="${msg_with_id}"/>
            <replaceregex pattern="${msg_key}"/>
            <replaceregex pattern="${msg_not_found}"/>
            <replaceregex pattern="${bundle_not_found_msg}"/>
            <replaceregex pattern="${null_or_empty_msg}"/>
            <ignoreblank/>
        </filterchain>
    </loadfile>

    <property name="remaining_messages" value="(none)"/>
    <echo>
* Messages with no proper message Id:
    ${remaining_messages}
    </echo>

    <condition property="cond-is-true">
        <not>
            <and>
                <equals arg1="(none)" arg2="${lines_with_msg_key}"/>
                <equals arg1="(none)" arg2="${lines_with_msg_unsubst_param}"/>
                <equals arg1="(none)" arg2="${lines_with_bundle_not_found_msg}"/>
                <equals arg1="(none)" arg2="${lines_with_null_or_empty_msg}"/>
                <equals arg1="(none)" arg2="${lines_with_msg_not_found}"/>
                <equals arg1="(none)" arg2="${lines_with_msg_common_typos}"/>
                <equals arg1="(none)" arg2="${lines_with_msg_double_apos}"/>
                <equals arg1="(none)" arg2="${remaining_messages}"/>
            </and>
        </not>
    </condition>

    <antcall target="pass"/>
    <antcall target="fail"/>
</target>

    <target name="pass" unless="cond-is-true">
        <echo message="======================================================================"/>
        <echo message="PASSED: check-logged-messages"/>
        <echo message="======================================================================"/>
    </target>

    <target name="fail"  if="cond-is-true">
        <echo message="======================================================================"/>
        <echo message="FAILED: check-logged-messages"/>
        <echo message="Issues found in one or more messages (see results above)."/>
        <echo message="Please address them, or if the message should be left as-is,"/>
        <echo message="add it to the exclusion list with details why it should be excluded:"/>
        <echo message="${log.msg.excl.path}"/>
        <echo message="======================================================================"/>
    </target>


    <macrodef name="filter-log-file">
        <attribute name="srcfile" description="path to server.log file"/>
        <attribute name="property" description="name of property to store result in"/>
        <attribute name="regexp" description="regular expression of lines to include"/>
        <text name="text" description="caption for result"/>
        <sequential>
            <loadfile srcfile="@{srcfile}" property="@{property}">
                <filterchain>
                    <linecontainsregexp>
                        <regexp pattern="@{regexp}"/>
                    </linecontainsregexp>
                </filterchain>
            </loadfile>

            <property name="@{property}" value="(PASSED: no problems found)"/>
            <echo message="@{text}${@{property}}${line.separator}"/>
        </sequential>
    </macrodef>

</project>
