Minor issues in 3.5

not nice: unnecessary console output when adding/changing fields in a relation:

Setting value at 0,2 to company_id (an instance of class com.servoy.j2db.persistence.Column)
New value of data:
    row 0:  company_id  0  company_id
    row 1:     0
    row 2:     0
    row 3:     0
    row 4:     0
    row 5:     0
    row 6:     0
    row 7:     0
    row 8:     0
    row 9:     0
    row 10:     0
--------------------------
  • not nice: IllegalArgumentException throws errors such as

Die Eingabe ‘%%input%%’ entspricht nicht dem Format ‘%%format%%’, Validation failed for ‘email’, with value: peter@g

you have that output only if you have tracing enabled right?
thats just for debugging servoy so that shouldn’t be to much of an issue.

No, sir:

log4j.logger.com.servoy.j2db.util.Debug=WARN
log4j.logger.org.apache.wicket=WARN
log4j.rootCategory=WARN, stdout, configservlet

and it doesn’t seem to be log output, but System.out.println…

this output


Setting value at 10,0 to null (an instance of )
New value of data:
row 0: 0
row 1: 0
row 2: 0
row 3: 0
row 4: 0
row 5: 0
row 6: 0
row 7: 0
row 8: 0
row 9: 0
row 10: 0

is still there in 3.5.1. It seems to slow down things a bit, so maybe you could take that out.

I am also finding that under 3.5.3 there’s a ton of INFO messages being generated by Servoy Server that weren’t there in 3.1. This is causing me problems because I use the server log to see messages sent by a batch processor method using application.output(), but these are also categorized as INFO so there’s no way to filter on just those.

How can I filter out all the Servoy-generated stuff and see just my application.output() stuff?

My log4j settings are:

log4j.appender.configservlet.layout.dateTimeFormat=yyyy-MM-dd HH\:mm
log4j.appender.configservlet.windowSize=1000
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=servoy_log.txt
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %p [%t] %c - %m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%t] %c - %m%n
log4j.debug=false
log4j.logger.com.servoy.j2db.util.Debug=INFO
log4j.logger.org.apache.wicket=WARN
log4j.rootCategory=INFO, configservlet, file

the level of detail I’m getting in the server log looks like this:

2007-12-19 23:29:01,796 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- QuerySet { updates = <null>, select = select user_uid from  
servoy_users su, servoy_user_groups sug, servoy_groups sg where  
sg.group_name = ? and sg.group_id = sug.group_id and sug.user_id =  
su.user_id [[Administrators]], cleanups = <null> }
2007-12-19 23:29:01,796 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- used sql select user_uid from servoy_users su, servoy_user_groups  
sug, servoy_groups sg where sg.group_name = ? and sg.group_id =  
sug.group_id and sug.user_id = su.user_id questiondata.length 1
2007-12-19 23:29:01,797 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- questiondata[0]= 'Administrators' ,type: java.lang.String
2007-12-19 23:29:01,848 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- sql select CUSTOM ELEMENT select user_uid from servoy_users where  
user_name=? and user_password=? ([amcgilly,s7h7jAq8u0DB6XNXpQMafQ==])
2007-12-19 23:29:01,851 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- CUSTOM ELEMENT select user_uid from servoy_users where user_name=?  
and user_password=? ([amcgilly,s7h7jAq8u0DB6XNXpQMafQ==])
2007-12-19 23:29:01,851 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- QuerySet { updates = <null>, select = select user_uid from  
servoy_users where user_name=? and user_password=?  
[[amcgilly,s7h7jAq8u0DB6XNXpQMafQ==]], cleanups = <null> }
2007-12-19 23:29:01,852 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- used sql select user_uid from servoy_users where user_name=? and  
user_password=? questiondata.length 2
2007-12-19 23:29:01,853 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- questiondata[0]= 'amcgilly' ,type: java.lang.String
2007-12-19 23:29:01,853 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- questiondata[1]= 's7h7jAq8u0DB6XNXpQMafQ==' ,type: java.lang.String
2007-12-19 23:29:01,865 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- sql select CUSTOM ELEMENT select sg.group_id,sg.group_name from  
servoy_groups sg,servoy_user_groups sug, servoy_users su where  
sg.group_id = sug.group_id and sug.user_id=su.user_id and  
su.user_uid=? order by sg.group_name ([2])
2007-12-19 23:29:01,869 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- CUSTOM ELEMENT select sg.group_id,sg.group_name from servoy_groups  
sg,servoy_user_groups sug, servoy_users su where sg.group_id =  
sug.group_id and sug.user_id=su.user_id and su.user_uid=? order by  
sg.group_name ([2])
2007-12-19 23:29:01,870 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- QuerySet { updates = <null>, select = select  
sg.group_id,sg.group_name from servoy_groups sg,servoy_user_groups  
sug, servoy_users su where sg.group_id = sug.group_id and  
sug.user_id=su.user_id and su.user_uid=? order by sg.group_name  
[[2]], cleanups = <null> }
2007-12-19 23:29:01,870 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- used sql select sg.group_id,sg.group_name from servoy_groups  
sg,servoy_user_groups sug, servoy_users su where sg.group_id =  
sug.group_id and sug.user_id=su.user_id and su.user_uid=? order by  
sg.group_name questiondata.length 1
2007-12-19 23:29:01,871 INFO [http-8080-1] com.servoy.j2db.util.Debug  
- questiondata[0]= '2' ,type: java.lang.String

Change this line

log4j.logger.com.servoy.j2db.util.Debug=INFO

to

log4j.logger.com.servoy.j2db.util.Debug=DEBUG

and all the INFO messages are gone

Change this line

log4j.logger.com.servoy.j2db.util.Debug=INFO

to

log4j.logger.com.servoy.j2db.util.Debug=DEBUG

and all the INFO messages are gone

Yes, but then the status messages I am sending to the server log using application.output() will also disappear because they are tagged as INFO not DEBUG. Do you know how I can insert my own messages in the log and have them show up as DEBUG entries rather than INFO?

You can consider using our free Log-Plugin. This enables you to us log4j inside your Servoy methods. So you can control output at runtime by setting the leve just like you do in Servoy now.