# HG changeset patch
# User robcast
# Date 1293037141 -3600
# Node ID b8bb64ba6ee73f431ba0311f16b6dba155ac3841
# Parent ce3031f00c44f3e5e3342088bd3720b0d04915f0
slightly better logging
diff -r ce3031f00c44 -r b8bb64ba6ee7 servlet/src/digilib/servlet/PDFCache.java
--- a/servlet/src/digilib/servlet/PDFCache.java Wed Dec 22 14:46:00 2010 +0100
+++ b/servlet/src/digilib/servlet/PDFCache.java Wed Dec 22 17:59:01 2010 +0100
@@ -182,7 +182,7 @@
} else if (status == PDFStatus.DONE) {
// pdf created -- send it
try {
- ServletOps.sendFile(getCacheFile(docid), "application/pdf", getDownloadFilename(pdfji), response);
+ ServletOps.sendFile(getCacheFile(docid), "application/pdf", getDownloadFilename(pdfji), response, logger);
//sendFile(docid, getDownloadFilename(pdfji), response);
} catch (Exception e) {
// sending didn't work
diff -r ce3031f00c44 -r b8bb64ba6ee7 servlet/src/digilib/servlet/Scaler.java
--- a/servlet/src/digilib/servlet/Scaler.java Wed Dec 22 14:46:00 2010 +0100
+++ b/servlet/src/digilib/servlet/Scaler.java Wed Dec 22 17:59:01 2010 +0100
@@ -44,7 +44,7 @@
protected static Logger accountlog = Logger.getLogger("account.request");
/** gengeral logger for this class */
- protected static Logger logger = Logger.getLogger("digilib.servlet");
+ protected static Logger logger = Logger.getLogger("digilib.scaler");
/** logger for authentication related */
protected static Logger authlog = Logger.getLogger("digilib.auth");
@@ -220,7 +220,7 @@
mt = "application/octet-stream";
}
logger.debug("Sending RAW File as is.");
- ServletOps.sendFile(fileToLoad.getFile(), mt, null, response);
+ ServletOps.sendFile(fileToLoad.getFile(), mt, null, response, logger);
logger.info("Done in " + (System.currentTimeMillis() - startTime) + "ms");
return;
}
@@ -228,7 +228,7 @@
// if possible, send the image without actually having to transform it
if (! jobTicket.isTransformRequired()) {
logger.debug("Sending File as is.");
- ServletOps.sendFile(fileToLoad.getFile(), null, null, response);
+ ServletOps.sendFile(fileToLoad.getFile(), null, null, response, logger);
logger.info("Done in " + (System.currentTimeMillis() - startTime) + "ms");
return;
}
@@ -246,7 +246,7 @@
// wait for result
DocuImage img = jobResult.get();
// send image
- ServletOps.sendImage(img, null, response);
+ ServletOps.sendImage(img, null, response, logger);
logger.debug("Job Processing Time: "
+ (System.currentTimeMillis() - startTime) + "ms");
@@ -308,7 +308,7 @@
response.sendError(status, msg);
} else if (img != null) {
// default: image
- ServletOps.sendFile(img, null, null, response);
+ ServletOps.sendFile(img, null, null, response, logger);
}
} catch (Exception e) {
logger.error("Error sending error!", e);
diff -r ce3031f00c44 -r b8bb64ba6ee7 servlet/src/digilib/servlet/ServletOps.java
--- a/servlet/src/digilib/servlet/ServletOps.java Wed Dec 22 14:46:00 2010 +0100
+++ b/servlet/src/digilib/servlet/ServletOps.java Wed Dec 22 17:59:01 2010 +0100
@@ -23,7 +23,6 @@
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
@@ -37,7 +36,6 @@
import digilib.image.DocuImage;
import digilib.image.ImageOpException;
-import digilib.io.FileOpException;
import digilib.io.FileOps;
public class ServletOps {
@@ -182,6 +180,32 @@
* The local file is copied to the OutputStream
of the
* ServletResponse
. If mt is null then the mime-type is
* auto-detected with mimeForFile.
+ *
+ * @param f
+ * Image file to be sent.
+ * @param mt
+ * mime-type of the file.
+ * @param name
+ * name of the download file (for application/x)
+ * @param res
+ * ServletResponse where the image file will be sent.
+ * @throws ImageOpException
+ * @throws ServletException
+ * Exception on sending data.
+ */
+ public static void sendFile(File f, String mt, String name,
+ HttpServletResponse response) throws ImageOpException,
+ ServletException {
+ // use default logger
+ ServletOps.sendFile(f, mt, name, response, ServletOps.logger);
+ }
+
+ /**
+ * Transfers an image file as-is with the mime type mt.
+ *
+ * The local file is copied to the OutputStream
of the
+ * ServletResponse
. If mt is null then the mime-type is
+ * auto-detected with mimeForFile.
* @param f
* Image file to be sent.
* @param mt
@@ -190,10 +214,12 @@
* name of the download file (for application/x)
* @param res
* ServletResponse where the image file will be sent.
+ * @param logger
+ * Logger to use
* @throws ImageOpException
* @throws ServletException Exception on sending data.
*/
- public static void sendFile(File f, String mt, String name, HttpServletResponse response)
+ public static void sendFile(File f, String mt, String name, HttpServletResponse response, Logger logger)
throws ImageOpException, ServletException {
logger.debug("sendRawFile(" + mt + ", " + f + ")");
if (mt == null) {
@@ -243,6 +269,22 @@
public static void sendImage(DocuImage img, String mimeType,
HttpServletResponse response) throws ImageOpException,
ServletException {
+ ServletOps.sendImage(img, mimeType, response, ServletOps.logger);
+ }
+
+ /**
+ * Write image img to ServletResponse response.
+ *
+ * @param img
+ * @param mimeType
+ * @param response
+ * @param logger
+ * @throws ImageOpException
+ * @throws ServletException Exception on sending data.
+ */
+ public static void sendImage(DocuImage img, String mimeType,
+ HttpServletResponse response, Logger logger) throws ImageOpException,
+ ServletException {
try {
OutputStream outstream = response.getOutputStream();
// setup output -- if mime type is set use that otherwise
diff -r ce3031f00c44 -r b8bb64ba6ee7 servlet/src/digilib/servlet/Texter.java
--- a/servlet/src/digilib/servlet/Texter.java Wed Dec 22 14:46:00 2010 +0100
+++ b/servlet/src/digilib/servlet/Texter.java Wed Dec 22 17:59:01 2010 +0100
@@ -44,8 +44,6 @@
*/
public class Texter extends HttpServlet {
- private static final long serialVersionUID = -8539178734033662322L;
-
/** Servlet version */
public static String tlVersion = "0.1b2";
@@ -55,6 +53,9 @@
/** general logger */
Logger logger = Logger.getLogger("digilib.texter");
+ /** logger for accounting requests */
+ protected static Logger accountlog = Logger.getLogger("account.texter.request");
+
/** FileOps instance */
FileOps fileOp;
@@ -109,6 +110,7 @@
*/
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
+ accountlog.info("GET from " + request.getRemoteAddr());
// do the processing
processRequest(request, response);
}
@@ -121,44 +123,43 @@
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
+ accountlog.info("POST from " + request.getRemoteAddr());
// do the processing
processRequest(request, response);
}
- protected void processRequest(HttpServletRequest request,
- HttpServletResponse response) throws ServletException, IOException {
-
- /*
- * request parameters
- */
+ protected void processRequest(HttpServletRequest request,
+ HttpServletResponse response) throws ServletException, IOException {
+
+ /*
+ * request parameters
+ */
// create new request with defaults
DigilibRequest dlRequest = new DigilibRequest(request);
- try {
-
- /*
- * find the file to load/send
- */
- TextFile f = getTextFile(dlRequest, "/txt");
- if (f != null) {
- ServletOps.sendFile(f.getFile(), null, null, response);
- } else {
- f = getTextFile(dlRequest, "");
- if (f != null) {
- ServletOps.sendFile(f.getFile(), null, null, response);
- } else {
- response.sendError(HttpServletResponse.SC_NOT_FOUND, "Text-File not found!");
- //ServletOps.htmlMessage("No Text-File!", response);
- }
- }
-
- } catch (ImageOpException e) {
- logger.error("ERROR: File IO Error: ", e);
- try {
- ServletOps.htmlMessage("ERROR: File IO Error: " + e, response);
- } catch (FileOpException ex) {
- } // so we don't get a loop
- }
- }
+ try {
+ /*
+ * find the file to load/send
+ */
+ TextFile f = getTextFile(dlRequest, "/txt");
+ if (f != null) {
+ ServletOps.sendFile(f.getFile(), null, null, response, logger);
+ } else {
+ f = getTextFile(dlRequest, "");
+ if (f != null) {
+ ServletOps.sendFile(f.getFile(), null, null, response, logger);
+ } else {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND,
+ "Text-File not found!");
+ // ServletOps.htmlMessage("No Text-File!", response);
+ }
+ }
+
+ } catch (ImageOpException e) {
+ // most likely wrong file format...
+ logger.error("ERROR sending text file: ", e);
+ response.sendError(HttpServletResponse.SC_BAD_REQUEST);
+ }
+ }
/**