Alway Error 404 after compilation deployment

447 views
Skip to first unread message

Jérémie Pilette

unread,
Feb 4, 2024, 12:38:26 PM2/4/24
to CAS Community
Hi everybody,
I try to compile and deploy cas-overlay-template from initializr but I have always Error 404 Not found.

Requirement

Java Version: 11
Spring Boot Version: 2.7.3
Gradle Version: 7.6
Tomcat Version: 9.0.84


I have

Java Version: 18
Spring Boot Version: 2.7.3
Gradle Version: 7.6
Tomcat Version: 10.1.6

Do I forget something ?

Thank you ?


Jérémie



Pablo Vidaurri

unread,
Feb 5, 2024, 12:03:20 AM2/5/24
to CAS Community, Jérémie Pilette
What endpoint are you getting 404 at? if deploying from localhost, are you hitting https://localhost:8443/cas/login ?

Jérémie Pilette

unread,
Feb 5, 2024, 3:24:09 AM2/5/24
to CAS Community, Pablo Vidaurri, Jérémie Pilette

Hi Pablo,
I never have the possibility to see the authentification form. It is really at the beginning.
This is my test server, I do  not use TLS for the moment.


Jérémie

Mohamed Amdouni

unread,
Feb 5, 2024, 3:36:11 AM2/5/24
to cas-...@apereo.org, Jérémie Pilette, Pablo Vidaurri
Hi,

How you build your app?

What are your dependencies ?

Did you tried using embedded Tomcat ? Java -jar cas.war 

Is it required to have external tomacat?

--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+u...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/54e359a6-9eca-4842-8c39-65b800e32521n%40apereo.org.

Jérémie Pilette

unread,
Feb 5, 2024, 4:20:00 AM2/5/24
to CAS Community, Pablo Vidaurri, Jérémie Pilette
Is that possible it is the problem :
> Configure project :
Careful: Current Java version 17 does not match required Java version 11
Invalid Java installation found at '/usr/lib/jvm/openjdk-11' (Common Linux Locations). It will be re-checked in the next build. This might have performance impact if it keeps failing. Run the 'javaToolchains' task for more details.

What is stange is that is written BUILD SUCCESFUL ... so it seems to be good ..

Thank you,
Jérémie

Le lundi 5 février 2024 à 06:03:20 UTC+1, Pablo Vidaurri a écrit :

Mohamed Amdouni

unread,
Feb 5, 2024, 4:38:24 AM2/5/24
to cas-...@apereo.org, Jérémie Pilette, Pablo Vidaurri
Did you get the ready message on the server start up ?

You have a 404 error so check if the context is ok in the cas.properties.

And put debug level in log configuration.

A blog post that could help you :

--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to the Google Groups "CAS Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cas-user+u...@apereo.org.

Mohamed Amdouni

unread,
Feb 5, 2024, 5:22:54 AM2/5/24
to Jérémie Pilette, Pablo Vidaurri, cas-...@apereo.org
Yes the banner in the log.
The context define in server.context-path=/cas
For log check logging section of cas.



Le lun. 5 févr. 2024 à 10:46, Jérémie Pilette <jerem....@gmail.com> a écrit :
Ready message on the server ? Do you mean in the logs ?
What do you mean about context ?
Even if I put debug level in log4j2.xml, I have no debug logs...

Jérémie Pilette

unread,
Feb 5, 2024, 5:22:54 AM2/5/24
to Mohamed Amdouni, cas-...@apereo.org, Pablo Vidaurri
Ready message on the server ? Do you mean in the logs ?
What do you mean about context ?
Even if I put debug level in log4j2.xml, I have no debug logs...

Le lun. 5 févr. 2024 à 10:29, Mohamed Amdouni <me.am...@gmail.com> a écrit :

Mohamed Amdouni

unread,
Feb 5, 2024, 6:11:33 AM2/5/24
to Jérémie Pilette, Pablo Vidaurri, cas-...@apereo.org
It not the only parameter. Try to follow the blog post.

You need to setup the keystore the application.properties the cas.properties 



Le lun. 5 févr. 2024 à 11:42, Jérémie Pilette <jerem....@gmail.com> a écrit :
I never used this parameter : server.context-path=/cas (I just added it now)

About log :
/bin/cas# tail -f /var/log/tomcat10/catalina.out
[2024-02-05 11:38:11] [info] Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès ; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
[2024-02-05 11:38:11] [info] Le déploiement de l'archive de l'application web [/var/lib/tomcat10/webapps/cas.war] s'est terminé en [8 052] ms
[2024-02-05 11:38:11] [info] Déploiement de l'archive [/var/lib/tomcat10/webapps/casconfigserver.war] de l'application web
[2024-02-05 11:38:18] [info] Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès ; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
[2024-02-05 11:38:18] [info] Le déploiement de l'archive de l'application web [/var/lib/tomcat10/webapps/casconfigserver.war] s'est terminé en [7 810] ms
[2024-02-05 11:38:18] [info] Déploiement du répertoire d'application web [/var/lib/tomcat10/webapps/ROOT]
[2024-02-05 11:38:19] [info] Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès ; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
[2024-02-05 11:38:19] [info] Le déploiement du répertoire [/var/lib/tomcat10/webapps/ROOT] de l'application web s'est terminé en [663] ms
[2024-02-05 11:38:19] [info] Démarrage du gestionnaire de protocole ["http-nio-8080"]
[2024-02-05 11:38:19] [info] Le démarrage du serveur a pris [29090] millisecondes

/bin/cas# tail -f /var/log/tomcat10/localhost_access_log.2024-02-05.txt
192.168.1.197 - - [05/Feb/2024:10:39:12 +0100] "GET /cas/ HTTP/1.1" 404 698
192.168.1.197 - - [05/Feb/2024:10:39:15 +0100] "GET /cas HTTP/1.1" 302 -
192.168.1.197 - - [05/Feb/2024:10:39:15 +0100] "GET /cas/ HTTP/1.1" 404 698
192.168.1.197 - - [05/Feb/2024:10:41:05 +0100] "GET /cas/ HTTP/1.1" 404 698
192.168.50.119 - - [05/Feb/2024:11:01:32 +0100] "GET /DevMgmt/DiscoveryTree.xml HTTP/1.1" 404 719
192.168.1.197 - - [05/Feb/2024:11:07:12 +0100] "GET /cas/ HTTP/1.1" 404 698
192.168.1.174 - - [05/Feb/2024:11:31:52 +0100] "GET /DevMgmt/DiscoveryTree.xml HTTP/1.1" 404 719
192.168.1.197 - - [05/Feb/2024:11:32:46 +0100] "GET /cas/ HTTP/1.1" 404 698
192.168.1.197 - - [05/Feb/2024:11:32:46 +0100] "GET /favicon.ico HTTP/1.1" 404 701
192.168.1.197 - - [05/Feb/2024:11:38:19 +0100] "GET /cas/ HTTP/1.1" 404 698

tail -f /var/log/cas/cas.log
(empty)

Jérémie Pilette

unread,
Feb 5, 2024, 6:11:33 AM2/5/24
to Mohamed Amdouni, Pablo Vidaurri, cas-...@apereo.org

Ray Bon

unread,
Feb 5, 2024, 9:48:31 AM2/5/24
to cas-...@apereo.org
Jérémie,

Is there a reason why java and tomcat are not the versions in the requirements?

You do not need to concern yourself with spring boot and gradle; they will be handled by the build process.

If you are starting out, use the most recent version.

If you are still having problems, turn up the logging, and provide more detail. Such as, what are you doing that results in 404.

Ray

On Sun, 2024-02-04 at 07:41 -0800, Jérémie Pilette wrote:
Notice: This message was sent from outside the University of Victoria email system. Please be cautious with links and sensitive information.

Jérémie Pilette

unread,
Feb 5, 2024, 11:30:29 AM2/5/24
to cas-...@apereo.org
Hi Ray Bon, I am using Debian 12 and openjdk is the version 18. So, must I install openjdk-11-jdk ? (18 > 11 should be good ...)
The same for Tomcat, tomcat9 is required for cas 6.6 so it should be good for tomcat10 too .. normally ...

If I choose cas 7, I need to install openjdk-21. I wanted to let the good packages from Debian 12....

I think I have activate the logs but maybe I forget something... there are no logs  displayed in /var/log/cas/cas.log ... evne if it is configured in /etc/cas/config/log4j2.xml ...

--
- Website: https://apereo.github.io/cas
- Gitter Chatroom: https://gitter.im/apereo/cas
- List Guidelines: https://goo.gl/1VRrw7
- Contributions: https://goo.gl/mh7qDG
---
You received this message because you are subscribed to a topic in the Google Groups "CAS Community" group.
To unsubscribe from this topic, visit https://groups.google.com/a/apereo.org/d/topic/cas-user/6jhMHXaI540/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cas-user+u...@apereo.org.
To view this discussion on the web visit https://groups.google.com/a/apereo.org/d/msgid/cas-user/e2eb6a9176088650152d13b872c957b40fbfc2fb.camel%40uvic.ca.

Ray Bon

unread,
Feb 5, 2024, 2:45:12 PM2/5/24
to cas-...@apereo.org
Jérémie,

You might be waiting a long time debian to upgrade java ;)

You can download and install openjdk-21 (on Ubuntu, mine is in /usr/lib/jvm)

You can 

$ JAVA_HOME=/usr/lib/jvm/jdk-21

Then when you run ./gradlew ... in the same terminal it will use that JAVA_HOME to find java.

For tomcat, download it, untar in a directory you manage (I use ~/Applications). Start tomcat from the same directory, it should pick up the correct java.

You can, of course, create a script that wraps the above, and leaves your command line pointing to debian installed java.

With this approach, you can use the latest cas.

Java will be 'more' backwardly compatible than tomcat (I recall reading somewhere that tomcat 10 has made some big changes) but stay as close to version recommendations as possible.

Cas also comes with an embedded tomcat. Your choice of deployment should be base on the settings you will have in production (IMHO).

If you are not getting log output, does the user that runs tomcat have permission to write to /var/log ?

Ray

Jérémie Pilette

unread,
Feb 6, 2024, 10:46:05 AM2/6/24
to cas-...@apereo.org
Hi Ray,

ok for cas7. So I downloaded Java but from Oracle website :
wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb
dpkg -i jdk-21_linux-x64_bin.deb


BUILD SUCCESSFUL without errors....

Deploy on Tomcat 10.1.6
Always the same ... 404 Not found...
Impossible de see specific logs of cas. I have only catalina.out in /var/logs/tomcat10/catalina.out...
Tomcat has rights to write on /var/logs/cas/cas.log
I must forget soething somewhere ... It is crasy !


Jérémie




Ray Bon

unread,
Feb 6, 2024, 9:51:39 PM2/6/24
to cas-...@apereo.org
Jérémie,

Are there any files in TOMCAT_HOME/logs ?
(Could also be CATALINA_HOME or CATALINA_BASE)

A pristine clone of cas-overlay-template should display the login page at http://localhost:8080/cas/login

What URL are you using that you get 404?

What does java -version say?
How are you deploying to tomcat (tomcat built in deployer, copy to TOMCAT_HOME/webapps, etc)?

Is there an application name and version number on the 404 page?

Ray

P.S. you can use openjdk instead of oracle

Jérémie Pilette

unread,
Feb 8, 2024, 9:55:58 AM2/8/24
to CAS Community, Ray Bon
Hi Ray,

I have installed Tomcat 10.1.6 with apt-get install tomcat10.
Here the repository of tomcat10 (/etc/tomcat10) :

drwxrwxr-x 3 root tomcat   4096  2 févr. 10:13 Catalina
-rw-r----- 1 root tomcat   7693 19 févr.  2023 catalina.properties
-rw-r----- 1 root tomcat   1411 19 févr.  2023 context.xml
-rw-r----- 1 root tomcat   1149 19 févr.  2023 jaspic-providers.xml
-rw-r----- 1 root tomcat   2799  9 oct.  23:21 logging.properties
drwxr-xr-x 2 root tomcat   4096  2 févr. 10:12 policy.d
-rw-r----- 1 root tomcat   6755 10 oct.  18:33 server.xml
-rw-r----- 1 root tomcat   2780  2 févr. 12:33 tomcat-users.xml
-rw-r----- 1 root tomcat 172414 19 févr.  2023 web.xml

I use the URL : http://my_host:8080/cas

CAS webapp est deployed in .var/lib/tomcat10/webapps/cas

I have the Error 404 of Tomcat without information.

About logsn even ig log4j2.xml is configured in /etc/cas/config/ to display logs in /var/lib/cas/cas.log, I have nothing.

Even if I use java 21 from Oracle instead of openjdk-21-jdk, it should works.

Is that possible that the problems comes from the cas.properties files ? I think my file is good ....

Thank you,

Jérémie

Ray Bon

unread,
Feb 8, 2024, 10:12:41 PM2/8/24
to jerem....@gmail.com, cas-...@apereo.org
Jérémie,

/etc/tomcat10 is the 'conf' directory. It may be a sym link to /var/lib/tomcat10/conf see https://packages.debian.org/bookworm/all/tomcat10/filelist

tomcat will write its logs to /var/lib/tomcat10/logs (see /etc/tomcat10/logging.properties).
What do the logs in /var/lib/tomcat10/logs say?

Ray

Jérémie Pilette

unread,
Feb 9, 2024, 3:51:23 AM2/9/24
to Ray Bon, cas-...@apereo.org
Hi Ray,
```
root@pc:/var/lib/tomcat10# ls -l
total 12
lrwxrwxrwx 1 root   root     13 10 oct.  18:33 conf -> /etc/tomcat10
```
So what I see in /etc/tomcat10 is the same as /var/lib/tomcat10/conf. OK for that.
About logs in /var/log/tomcat10 :
catalina.out
localhost_access_log.2024-02-09.txt

About catalina.out, when I restart tomcat (systemctl restart tomcat10)
```
[2024-02-09 09:47:39] [info] Au moins un fichier JAR a été analysé pour trouver des TLDs mais il n'en contenait pas, le mode "debug" du journal peut être activé pour obtenir une liste complète de JAR scannés sans succès ; éviter d'analyser des JARs inutilement peut améliorer sensiblement le temps de démarrage et le temps de compilation des JSPs
[2024-02-09 09:47:40] [info] ERROR StatusConsoleListener Error processing element CasAppender ([Appenders: null]): CLASS_NOT_FOUND
[2024-02-09 09:47:40] [info] ERROR StatusConsoleListener Error processing element CasAppender ([Appenders: null]): CLASS_NOT_FOUND
[2024-02-09 09:47:40] [info] ERROR StatusConsoleListener Error processing element CasAppender ([Appenders: null]): CLASS_NOT_FOUND
[2024-02-09 09:47:40] [info] ERROR StatusConsoleListener Error processing element CasAppender ([Appenders: null]): CLASS_NOT_FOUND
[2024-02-09 09:47:41] [info] ERROR StatusConsoleListener Unable to locate appender "casFile" for logger config "root"
[2024-02-09 09:47:41] [info] ERROR StatusConsoleListener Unable to locate appender "casConsole" for logger config "root"
[2024-02-09 09:47:41] [info] ERROR StatusConsoleListener Unable to locate appender "casStackTraceFile" for logger config "root"
[2024-02-09 09:47:41] [info] ERROR StatusConsoleListener Unable to locate appender "casConsole" for logger config "org.apereo.inspektr"
[2024-02-09 09:47:41] [info] ERROR StatusConsoleListener Unable to locate appender "casFile" for logger config "org.apereo.inspektr"
[2024-02-09 09:47:41] [info] ERROR StatusConsoleListener Unable to locate appender "casAudit" for logger config "org.apereo.inspektr"
[2024-02-09 09:47:41] [info] Le déploiement de l'archive de l'application web [/var/lib/tomcat10/webapps/cas.war] s'est terminé en [8 955] ms
```

About  localhost_access_log.2024-02-09.txt
```
192.168.1.xx - - [09/Feb/2024:08:32:35 +0100] "GET /DevMgmt/DiscoveryTree.xml HTTP/1.1" 404 719
```

Thank you,
Jérémie

Jérémie Pilette

unread,
Feb 9, 2024, 12:21:36 PM2/9/24
to Ray Bon, cas-...@apereo.org
Here this my log4j2.xml file from the cas-overlay template (after compilation)
```
<?xml version="1.0" encoding="UTF-8" ?>
<!--
All loggers are asynchronous because of log42.component.properties in cas-server-core-logging-api.
Set -Dlog4j2.contextSelector=org.apache.logging.log4j.core.selector.BasicContextSelector or override log42.component.properties to turn off async
-->
<!-- Specify the refresh internal in seconds. -->
<Configuration monitorInterval="5" packages="org.apereo.cas.logging">
    <Properties>
<Property name="baseDir">/var/log/cas</Property>
        <Property name="cas.log.level">trace</Property>
        <Property name="spring.webflow.log.level">warn</Property>
        <Property name="spring.security.log.level">info</Property>
        <Property name="spring.cloud.log.level">warn</Property>
        <Property name="spring.web.log.level">warn</Property>
        <Property name="spring.boot.log.level">warn</Property>
        <Property name="ldap.log.level">warn</Property>
        <Property name="pac4j.log.level">warn</Property>
        <Property name="opensaml.log.level">warn</Property>
        <Property name="hazelcast.log.level">warn</Property>
        <Property name="jdbc.log.level">warn</Property>
        <Property name="log.console.stacktraces">true</Property>
        <Property name="log.file.stacktraces">false</Property>
        <!-- -Dlog.stacktraceappender=null to disable stacktrace log -->
        <Property name="log.stacktraceappender">casStackTraceFile</Property>
        <Property name="log.include.location">false</Property>
    </Properties>
    <Appenders>
        <Null name="null" />

        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout pattern="%highlight{%d %p [%c] - &lt;%m&gt;}%n" alwaysWriteExceptions="${sys:log.console.stacktraces}"/>
        </Console>

        <RollingFile name="file" fileName="${baseDir}/cas.log" append="true"
                     filePattern="${baseDir}/cas-%d{yyyy-MM-dd-HH}-%i.log.gz"
                     immediateFlush="false">
            <PatternLayout pattern="%highlight{%d %p [%c] - &lt;%m&gt;%n}"
                           alwaysWriteExceptions="${sys:log.file.stacktraces}" />
            <Policies>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10 MB"/>
                <TimeBasedTriggeringPolicy />
            </Policies>
            <DefaultRolloverStrategy max="5" compressionLevel="9">
                <Delete basePath="${baseDir}" maxDepth="2">
                    <IfFileName glob="*/*.log.gz" />
                    <IfLastModified age="7d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="stacktracefile" fileName="${baseDir}/cas_stacktrace.log" append="true"
                     filePattern="${baseDir}/cas_stacktrace-%d{yyyy-MM-dd-HH}-%i.log.gz"
                     immediateFlush="false">
            <PatternLayout pattern="%highlight{%d %p [%c] - &lt;%m&gt;%n}" />
            <Policies>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10 MB"/>
                <TimeBasedTriggeringPolicy />
            </Policies>
            <DefaultRolloverStrategy max="5" compressionLevel="9">
                <Delete basePath="${baseDir}" maxDepth="2">
                    <IfFileName glob="*/*.log.gz" />
                    <IfLastModified age="7d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <RollingFile name="auditlogfile" fileName="${baseDir}/cas_audit.log" append="true"
                     filePattern="${baseDir}/cas_audit-%d{yyyy-MM-dd-HH}-%i.log.gz"
                     immediateFlush="false">
            <PatternLayout pattern="%highlight{%d %p [%c] - %m%n}" />
            <Policies>
                <OnStartupTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="10 MB"/>
                <TimeBasedTriggeringPolicy />
            </Policies>
            <DefaultRolloverStrategy max="5" compressionLevel="9">
                <Delete basePath="${baseDir}" maxDepth="2">
                    <IfFileName glob="*/*.log.gz" />
                    <IfLastModified age="7d" />
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>

        <CasAppender name="casAudit">
            <AppenderRef ref="auditlogfile" />
        </CasAppender>
        <CasAppender name="casFile">
            <AppenderRef ref="file" />
        </CasAppender>
        <CasAppender name="casStackTraceFile">
            <AppenderRef ref="stacktracefile" />
            <ExceptionOnlyFilter/>
        </CasAppender>
        <CasAppender name="casConsole">
            <AppenderRef ref="console" />
        </CasAppender>
    </Appenders>
    <Loggers>
        <Logger name="org.apereo.cas" level="${sys:cas.log.level}" />
        <Logger name="org.apereo.cas.services" level="${sys:cas.log.level}" />
        <Logger name="org.apereo.spring" level="${sys:cas.log.level}" />
        <Logger name="org.apereo.services.persondir" level="${sys:cas.log.level}" />
        <Logger name="org.apereo.cas.web.flow" level="${sys:cas.log.level}" />
        <Logger name="org.apereo.cas.web.CasWebApplication" level="${sys:cas.log.level}"/>

        <Logger name="org.apereo.inspektr" additivity="false" level="info">
            <AppenderRef ref="casConsole"/>
            <AppenderRef ref="casFile"/>
            <AppenderRef ref="casAudit"/>
        </Logger>

        <Logger name="org.springframework.boot" level="${sys:spring.boot.log.level}" />
        <Logger name="org.springframework.boot.context.embedded" level="info" />
        <Logger name="org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration" level="${sys:spring.security.log.level}" />
        <Logger name="org.springframework.boot.autoconfigure.security" level="${sys:spring.security.log.level}" />
        <Logger name="org.springframework.boot.devtools" level="debug" />
       
        <Logger name="org.springframework" level="warn" />
        <Logger name="org.springframework.webflow" level="${sys:spring.webflow.log.level}"/>
        <Logger name="org.springframework.aop" level="warn" />
        <Logger name="org.springframework.session" level="warn"/>
        <Logger name="org.springframework.scheduling" level="info"/>
        <Logger name="org.springframework.cloud.vault" level="warn" />
        <Logger name="org.springframework.web.client" level="warn" />
        <Logger name="org.springframework.security" level="${sys:spring.security.log.level}"/>
        <Logger name="org.springframework.security.config.annotation.web.builders" level="error" />
        <Logger name="org.springframework.cloud" level="${sys:spring.cloud.log.level}"/>
        <Logger name="org.springframework.amqp" level="error" />
        <Logger name="org.springframework.integration" level="warn"/>
        <Logger name="org.springframework.messaging" level="warn"/>
        <Logger name="org.springframework.web" level="${sys:spring.web.log.level}"/>
       
        <Logger name="org.springframework.scheduling" level="warn"/>
        <Logger name="org.springframework.context.annotation" level="off"/>
        <Logger name="org.springframework.web.socket" level="warn"/>
        <Logger name="org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter" level="trace"/>

        <Logger name="org.springframework.orm.jpa" level="${sys:jdbc.log.level}"/>
        <Logger name="org.hibernate" level="${sys:jdbc.log.level}"/>

        <Logger name="com.couchbase" level="warn" />
        <Logger name="org.apache" level="error"/>
        <Logger name="com.netflix" level="warn"/>
        <Logger name="org.quartz" level="warn"/>
        <Logger name="org.thymeleaf" level="warn"/>
        <Logger name="org.pac4j" level="${sys:pac4j.log.level}"/>

        <Logger name="org.opensaml" level="${sys:opensaml.log.level}"/>
        <Logger name="PROTOCOL_MESSAGE" level="${sys:opensaml.log.level}" />

        <Logger name="net.sf.ehcache" level="warn"/>
        <Logger name="net.jradius" level="warn"/>
        <Logger name="org.ldaptive" level="${sys:ldap.log.level}"/>
        <Logger name="com.hazelcast" level="${sys:hazelcast.log.level}" />
        <Logger name="org.jasig.spring" level="warn" />
        <Logger name="org.apache.cxf" level="warn" />
        <Logger name="org.apache.http" level="warn" />

        <Root level="warn" includeLocation="${sys:log.include.location}">
            <AppenderRef ref="casFile"/>
            <AppenderRef ref="casConsole"/>
            <AppenderRef ref="${sys:log.stacktraceappender}"/>
        </Root>
    </Loggers>
</Configuration>
``

Le ven. 9 févr. 2024 à 17:09, Ray Bon <rb...@uvic.ca> a écrit :
Jérémie,

'CasAppender' is defined in the log4j2.xml
So it looks like cas is able to find the file, but not able to process it; hence, no log output.
CasAppender is an indirection for the defined appender(s) above it:

<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%highlight{%d %p [%c] - &lt;%m&gt;}%n" alwaysWriteExceptions="${sys:log.console.stacktraces}"/>
</Console>
...
<CasAppender name="casConsole">
<AppenderRef ref="console" />
</CasAppender>

Are the definitions of the appenders missing or somehow corrupt?


Ray

Ray Bon

unread,
Feb 9, 2024, 12:21:36 PM2/9/24
to jerem....@gmail.com, cas-...@apereo.org
Jérémie,

'CasAppender' is defined in the log4j2.xml
So it looks like cas is able to find the file, but not able to process it; hence, no log output.
CasAppender is an indirection for the defined appender(s) above it:

<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%highlight{%d %p [%c] - &lt;%m&gt;}%n" alwaysWriteExceptions="${sys:log.console.stacktraces}"/>
</Console>
...
<CasAppender name="casConsole">
<AppenderRef ref="console" />
</CasAppender>

Are the definitions of the appenders missing or somehow corrupt?


Ray

Ray Bon

unread,
Feb 9, 2024, 12:32:25 PM2/9/24
to jerem....@gmail.com, cas-...@apereo.org
Jérémie,

I do not see anything amiss with that file.

You could comment out the CasAppender s and change all AppenderRef s to point directly to the Appenders

<AppenderRef ref="casConsole"/>
becomes
<AppenderRef ref="console"/>

Ray

Jérémie Pilette

unread,
Feb 11, 2024, 2:40:02 PM2/11/24
to CAS Community, Ray Bon, cas-...@apereo.org, jerem....@gmail.com
Hi,
I can't find casAppender.java.

In CAS7, where can I find this class?

Thank you,

Jérémie

Jérémie Pilette

unread,
Feb 12, 2024, 5:59:18 AM2/12/24
to CAS Community, Jérémie Pilette, Ray Bon, cas-...@apereo.org
OK I found it :
build/overlays/bootWar/cas/WEB-INF/lib/cas-server-core-logging-api-7.0.1.jar

So the class is here and I have the log :
```
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Error processing element CasAppender ([Appenders: null]): CLASS_NOT_FOUND
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Error processing element CasAppender ([Appenders: null]): CLASS_NOT_FOUND
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Error processing element CasAppender ([Appenders: null]): CLASS_NOT_FOUND
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Error processing element CasAppender ([Appenders: null]): CLASS_NOT_FOUND
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Unable to locate appender "casFile" for logger config "root"
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Unable to locate appender "casConsole" for logger config "root"
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Unable to locate appender "casStackTraceFile" for logger config "root"
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Unable to locate appender "casConsole" for logger config "org.apereo.inspektr"
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Unable to locate appender "casFile" for logger config "org.apereo.inspektr"
[2024-02-12 10:24:49] [info] ERROR StatusConsoleListener Unable to locate appender "casAudit" for logger config "org.apereo.inspektr"
```

I tried to compile with Oracle jdk21 and openjdk-21

Always the same error...

Jérémie

Vaibhav GPT

unread,
Feb 12, 2024, 8:07:06 AM2/12/24
to CAS Community, Jérémie Pilette, Ray Bon, cas-...@apereo.org
Hi Jeremie ,

What happens if you try with version 11? I also faced running errors similar to this but they magically vanished away when i switched to version 11 of java but i was using cas 6.6 

Hope it helps !

Ray Bon

unread,
Feb 12, 2024, 9:34:56 AM2/12/24
to jerem....@gmail.com, cas-...@apereo.org
Jérémie,


There is no problem with that file, else most cas users would have problems.

Start with a fresh clone of the overlay, https://github.com/apereo/cas-overlay-template
If you have problems with that, it means that something on your system is hosed. Could be a corrupt download or something out of alignment in .m2/repository
If it works, add your config items in one at a time.

Ray

Jérémie Pilette

unread,
Feb 12, 2024, 12:34:48 PM2/12/24
to CAS Community, Ray Bon, jerem....@gmail.com
@Vaibhav GPT : I have compiled cas 6.6.15 with openjdk-11, there were no errors about class not found casAppender, but impossible to display the authentication page (eoor 404 not found)

@Ray Bon : I do not have .m2/repository on my test server ... Do I need to install something ? Thank you

Jérémie

Frédéric Dussurget

unread,
Feb 14, 2024, 6:24:23 AM2/14/24
to CAS Community, Jérémie Pilette, Ray Bon
Hi Jérémie,
If you choose to go for CAS v7 and openjdk 21 on debian ... I had this little issue :

- I had troubles with CA certificate store when installing openjdk 21 (from https://download.java.net/java/GA/jdk21/........./openjdk-21_linux-x64_bin.tar.gz ) on debian 12, because they're not bundled as they are with the default debian distribution's jdk package.
(If you don't provide CA certificates, you'll be able to compile, then you'll have the CAS banner when starting tomcat, but CAS will fail ...)
So yo might try this, using your debian's system CA certificate store :

mv /usr/lib/jvm/java-21-openjdk-amd64/lib/security/cacerts /usr/lib/jvm/java-21-openjdk-amd64/lib/security/cacerts_orig
ln -s /etc/ssl/certs/java/cacerts /usr/lib/jvm/java-21-openjdk-amd64/lib/security/cacerts
ls -alh /usr/lib/jvm/java-21-openjdk-amd64/lib/security/cacerts

I do not know about Oracle's jdk ...

- Notice that I also compiled the .war with the same jdk I run cas (jdk21 since last fall '23)

(adjust every path and values  according to your system ...)
regards
Reply all
Reply to author
Forward
0 new messages