I would like to not have them available online at all. I want to be able to see the logs from web2py's error folder in a nice way. Right now I get this...(attatched). They look like pickles to me. I want to be able to read them with a text based system. (Like when I ssh into my server to see the issues in the application. --- Best Regards, Jason Brower On Mon, 2010-05-10 at 21:56 -0700, mdipierro wrote: > are you talking about apache error log, httpserver.log, tickets of > console logs? > In the first case we have two apps for that: > > http://web2py.com/appliances/default/show/14 > http://web2py.com/appliances/default/show/27 > > I think the second is better. > > On May 10, 11:06 pm, Jason Brower <encomp...@gmail.com> wrote: > > When I get errors in my logs I have to scour through the error folder > > for the issues. It would be so totally awsome if I were able to see the > > errors parse and looking snazzy in a texted based (console) error log > > viewer. That way I can easily see the errors and what line they are on. > > Unless there is a better way. :) > > Best Regards, > > Jason Brower
(dp1 S'output' p2 S'' sS'layer' p3 S'/home/encompass/Programming/Web Pages/web2py/applications/2hand/views/default/table_test.html' p4 sS'code' p5 S'response.write(\'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\\n "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\\n<html xmlns="http://www.w3.org/1999/xhtml"\\n xml:lang="\',escape=False)\nresponse.write(T.accepted_language or \'en\')\nresponse.write(\'">\\n <head>\\n <title>\',escape=False)\nresponse.write(response.title or \'response.title\')\nresponse.write(\'</title>\\n <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />\\n <meta name="copyright" content="\',escape=False)\nresponse.write(response.copyright or \'\')\nresponse.write(\'" />\\n <meta name="keywords" content="\',escape=False)\nresponse.write(response.keywords or \'\')\nresponse.write(\'" />\\n <meta name="description" content="\',escape=False)\nresponse.write(response.description or \'\')\nresponse.write(\'" />\\n <meta name="robots" content="index,follow" />\\n \',escape=False)\nresponse.files.insert(0,URL(r=request,c=\'static\',f=\'jquery.js\'))\nresponse.files.insert(1,URL(r=request,c=\'static\',f=\'calendar.css\'))\nresponse.files.insert(2,URL(r=request,c=\'static\',f=\'calendar.js\'))\nresponse.files.insert(3,URL(r=request,c=\'static\',f=\'ui.jquery.js\'))\nfor _item in response.meta or []:\n response.write(\'\\n <meta name="\',escape=False)\n response.write(_item)\n response.write(\'" content="\',escape=False)\n response.write(response.meta[_item])\n response.write(\'" />\',escape=False)\n pass\nfor _k,_file in enumerate(response.files or []):\n if _file in response.files[:_k]:\n continue\n elif _file[-4:].lower()==\'.css\':\n response.write(\'\\n <link href="\',escape=False)\n response.write(_file)\n response.write(\'" rel="stylesheet" type="text/css" charset="utf-8" />\',escape=False)\n elif _file[-3:].lower()==\'.js\':\n response.write(\'\\n <script src="\',escape=False)\n response.write(_file)\n response.write(\'" type="text/javascript"></script>\',escape=False)\n pass\n pass\nresponse.write(\'\\n<script type="text/javascript"><!--\\nfunction popup(url) {\\n newwindow=window.open(url,\\\'name\\\',\\\'height=400,width=600\\\');\\n if (window.focus) newwindow.focus();\\n return false;\\n}\\nfunction collapse(id) { jQuery(\\\'#\\\'+id).slideToggle(); }\\nfunction fade(id,value) { if(value>0) jQuery(\\\'#\\\'+id).hide().fadeIn(\\\'slow\\\'); else jQuery(\\\'#\\\'+id).show().fadeOut(\\\'slow\\\'); }\\nfunction ajax(u,s,t) {\\n var query="";\\n for(i=0; i<s.length; i++) { \\n if(i>0) query=query+"&";\\n query=query+encodeURIComponent(s[i])+"="+encodeURIComponent(document.getElementById(s[i]).value);\\n }\\n jQuery.ajax({type: "POST", url: u, data: query, success: function(msg) { if(t==\\\':eval\\\') eval(msg); else document.getElementById(t).innerHTML=msg; } }); \\n}\\nString.prototype.reverse = function () { return this.split(\\\'\\\').reverse().join(\\\'\\\');};\\nfunction web2py_ajax_init() {\\n jQuery(\\\'.hidden\\\').hide();\\n jQuery(\\\'.error\\\').hide().show(\\\'highlight\\\', 5000);\\n jQuery(\\\'.flash\\\').click(function() { jQuery(this).hide(\\\'blind\\\', 2000); return false; });\\n jQuery(\\\'input.integer\\\').keyup(function(){this.value=this.value.reverse().replace(/[^0-9\\\\-]|\\\\-(?=.)/g,\\\'\\\').reverse();});\\n jQuery(\\\'input.double\\\').keyup(function(){this.value=this.value.reverse().replace(/[^0-9\\\\-\\\\.]|[\\\\-](?=.)|[\\\\.](?=[0-9]*[\\\\.])/g,\\\'\\\').reverse();});\\n jQuery("input[type=\\\'checkbox\\\'].delete").click(function() { if(this.checked) if(!confirm("\',escape=False)\nresponse.write(T(\'Sure you want to delete this object?\'))\nresponse.write(\'")) this.checked=false; }); \\n try {jQuery("input.date").focus( function() {Calendar.setup({\\n inputField:this.id, ifFormat:"\',escape=False)\nresponse.write(T(\'%Y-%m-%d\'))\nresponse.write(\'", showsTime:false\\n }); }); } catch(e) {};\\n try { jQuery("input.datetime").focus( function() {Calendar.setup({\\n inputField:this.id, ifFormat:"\',escape=False)\nresponse.write(T(\'%Y-%m-%d %H:%M:%S\'))\nresponse.write(\'", showsTime: true,timeFormat: "24"\\n }); }); } catch(e) {};\\n try { jQuery("input.time").clockpick({\\n starthour:0, endhour:23, showminutes:true, military:true\\n }); } catch(e) {};\\n};\\njQuery(document).ready(function(){\\n jQuery(\\\'.flash\\\').hide();\\n if(jQuery(\\\'.flash\\\').html()!=\\\'\\\') jQuery(\\\'.flash\\\').show(\\\'blind\\\', 1000);\\n jQuery(\\\'#tabbed_content\\\').tabs();\\n web2py_ajax_init();});\\n\\nfunction web2py_trap_form(action,target) {\\n jQuery(\\\'#\\\'+target+\\\' form\\\').each(function(i){\\n var form=jQuery(this);\\n jQuery(\\\':submit,.submit\\\',this).click(function(){\\n jQuery(\\\'.flash\\\').hide().html(\\\'\\\');\\n web2py_ajax_page(\\\'post\\\',action,form.serialize(),target);\\n return false;\\n });\\n });\\n}\\nfunction web2py_ajax_page(method,action,data,target) {\\n jQuery.ajax({\\\'type\\\':method,\\\'url\\\':action,\\\'data\\\':data,\\n \\\'beforeSend\\\':function(xhr){\\n xhr.setRequestHeader(\\\'web2py-component-location\\\',document.location);\\n xhr.setRequestHeader(\\\'web2py-component-element\\\',target);},\\n \\\'complete\\\':function(xhr,text){\\n command=xhr.getResponseHeader(\\\'web2py-component-command\\\');\\n if(command) eval(command);\\n flash=xhr.getResponseHeader(\\\'web2py-component-flash\\\');\\n if(flash) jQuery(\\\'.flash\\\').html(flash).slideDown();\\n },\\n \\\'success\\\': function(text) {\\n jQuery(\\\'#\\\'+target).html(text);\\n web2py_trap_form(action,target);\\n web2py_ajax_init();\\n }\\n });\\n}\\nfunction web2py_component(action,target) {\\n jQuery(document).ready(function(){ web2py_ajax_page(\\\'get\\\',action,null,target); });\\n}\\n//--></script>\\n\\n <link rel="stylesheet" media="screen,projection" type="text/css" \\n href="\',escape=False)\nresponse.write(URL(request.application,\'static\',\'base.css\'))\nresponse.write(\'" />\\n <link rel="stylesheet" media="screen,projection" type="text/css" \\n href="\',escape=False)\nresponse.write(URL(request.application,\'static\',\'jquery-ui.css\'))\nresponse.write(\'" />\\n </head>\\n <body>\\n <div id="header">\\n <div id="logo">\\n <img src="\',escape=False)\nresponse.write(URL(request.application,\'static\',\'images/default_logo.png\'))\nresponse.write(\'" alt="Company Logo"/>\\n </div>\\n <div id="header_content">\\n <h1>\',escape=False)\nresponse.write(response.title or \'response.title\')\nresponse.write(\'</h1>\\n </div>\\n \',escape=False)\nif response.flash:\n response.write(\'\\n <div class="flash">\\n \',escape=False)\n response.write(response.flash)\n response.write(\'\\n <a href="#">Close</a>\\n </div>\\n \',escape=False)\n pass\nresponse.write(\'\\n </div>\\n <div id="navigation">\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'index\'))\nresponse.write(\'">Home</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'checkout\'))\nresponse.write(\'">Checkout</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'customer\'))\nresponse.write(\'">Customers</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'table\'))\nresponse.write(\'">Tables</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'sales\'))\nresponse.write(\'">Sales</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'feedback\'))\nresponse.write(\'">Feedback</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'mail_box\'))\nresponse.write(\'">Mailing</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'company_admin\'))\nresponse.write(\'">Admin</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'logout\'))\nresponse.write(\'">Logout</a>\\n <a href="\',escape=False)\nresponse.write(URL(request.application,\'default\',\'table_test\'))\nresponse.write(\'">Table Test</a>\\n </div>\\n <div id="content">\\n \\n<script type="text/javascript">\\n\\t$(function() {\\n\\t\\t$("#slider-range").slider({\\n\\t\\t\\torientation: "horizontal",\\n\\t\\t\\trange: true,\\n\\t\\t\\tvalues: [1,2],\\n min:1,\\n max:31,\\n\\t\\t\\tslide: function(event, ui) {\\n\\t\\t\\t\\t$("#amount").val(ui.values[0] + \\\' to \\\' + ui.values[1]);\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\t$("#amount").val($("#slider-range").slider("values", 0) + \\\' to \\\' + $("#slider-range").slider("values", 1));\\n\\t});\\n</script>\\n\',escape=False)\ncolor_count = 0\nresponse.write(\'\\n<input type="text" id="amount" style="border:0; color:#f6931f; font-weight:bold;" />\\n<div id="slider-range" style="height:13px;"></div>\\n<br/>\\n<div class="bar_chart">\\n <div id="start_date">\',escape=False)\nresponse.write(start_date)\nresponse.write(\'</div>\\n <div id="end_date">\',escape=False)\nresponse.write(end_date)\nresponse.write(\'</div>\\n</div>\\n<div class="bar_chart">\\n <a href="" class="percent" style=" width:\',escape=False)\nresponse.write(item[1])\nresponse.write(\'%; border-right:1px solid;" ></div>\\n</div>\\n\',escape=False)\nfor bar in bars:\n response.write(\'\\n<div class="bar_chart">\\n \',escape=False)\n for item in bars[bar]:\n response.write(\'\\n <a href="" class="percent" title="\',escape=False)\n response.write(item[2])\n response.write(\'" style="margin-left:\',escape=False)\n response.write(item[0])\n response.write(\'%; width:\',escape=False)\n response.write(item[1])\n response.write(\'%; background-color:\',escape=False)\n if color_count == len(colors):\n response.write(\'\',escape=False)\n color_count = 0\n response.write(\'\',escape=False)\n pass\n response.write(\'\',escape=False)\n response.write(colors[color_count][0])\n response.write(\'; color:\',escape=False)\n response.write(colors[color_count][1])\n response.write(\' \',escape=False)\n color_count +=1\n response.write(\';">\',escape=False)\n response.write(item[2])\n response.write(\'</a>\\n \',escape=False)\n pass\n response.write(\'\\n</div>\\n\',escape=False)\n pass\nresponse.write(\'\\n\\n </div>\\n <div id="footer">\\n Copyright \\xc2\\xa9 Velipojat 2010\\n </div>\\n </body>\\n</html>\\n\',escape=False)' p6 sS'traceback' p7 S'Traceback (most recent call last):\n File "/home/encompass/Programming/Web Pages/web2py/gluon/restricted.py", line 173, in restricted\n exec ccode in environment\n File "/home/encompass/Programming/Web Pages/web2py/applications/2hand/views/default/table_test.html", line 83, in <module>\nNameError: name \'item\' is not defined\n' p8 s.