Blog

Brad Wood

December 22, 2017

Spread the word


Share your thoughts

For today's 12 Tips of (CommandBox) Christmas we're going to review how to debug a server that don't want to start.  Figuring out why a server won't come up is usually very easy, but some people will waste a lot of time on it if they don't know how to access the logs.  Part of the issue is that the start command fires off an async process to actually start up the server, so you don't get much feedback right there in your console.

Tailing and Following logs

If a server isn't starting, the first thing to run is the server log command. It will show you the console log for that server.

server log

If the log is very large, use the tail command to just see the last few lines of it.

server log | tail
server log | tail lines=100

To get a live stream of the console log from a running server, use the --follow flag and the command will continue streaming new lines to the console until you press Ctrl-C to stop.

server log --follow

Debug Logging

You can get additional information about a server start with the --debug flag. When debug is set, the start command will not exit immediately, but wait for the server to come up and live stream the debugging information and server logs to the console while the server is coming up.

server start --debug

Start server in console mode

You can use the --console flag to the server start command to start a server in the foreground. The console log will be live-streamed to the CLI and the log will continue streaming as long as the server is running. Press Ctrl-C to stop the server and stop streaming the log file.

server start --console
server start --console --debug

Maximum logging! (trace)

You may still really be having issues getting your server to start up correctly due to a setting not getting picked up, rewrites not working, or maybe a jar not loading. You can "drink from the firehose" so to speak by turning on trace level logging. This works best when starting the server via the console so you can watch the logging as it streams past.

server start --trace --console

 

Add Your Comment

Recent Entries

BoxLang 3.4 Blog Series Part I: Gateways, One Interface, Any Platform

BoxLang 3.4 Blog Series Part I: Gateways, One Interface, Any Platform

Every AI agent that touches something real eventually needs a human in the loop. Someone has to approve the delete, confirm the wire transfer, or just say "go ahead" before a tool call runs. The question BoxLang AI 3.4.0 answers is: approve it how? A terminal prompt? A webhook? A Slack button?

Luis Majano
Luis Majano
September 04, 2026
BoxLang 1.17 Series Part1 : Module Inception

BoxLang 1.17 Series Part1 : Module Inception

BoxLang has always been an extensible language. As of 1.17.0, it is a hierarchically extensible one. Every module ecosystem you have worked in is flat. You declare a list of dependencies and something outside the language, a package manager or a build tool, resolves and downloads and orders them. The language itself has no opinion about the shape of the graph. It sees a list, not a tree.

Luis Majano
Luis Majano
September 04, 2026
Why Migrate from ColdFusion to BoxLang? 10 Reasons to Modernize Your CFML Applications

Why Migrate from ColdFusion to BoxLang? 10 Reasons to Modernize Your CFML Applications

For organizations running applications built with ColdFusion or CFML, modernization often comes with an uncomfortable question:

“Do we keep investing in the platform we already have, or do we rewrite everything in another language?”

That choice is not as binary as it may seem.

At Into the Box 2026, Ortus Solutions Senior Architect and BoxLang core developer Jon Clausen presented a session titled “Top Ten Reasons to Migrate to Bo...

Cristobal Escobar
Cristobal Escobar
September 04, 2026