[pyramid/debug] on every request display request path and selected controller
This will display lines like:
2019-06-12 16:26:57 - (cubicweb.pyramid.bwcompat) INFO: REQUEST [view] '/wiki/334037' selected controller <cubicweb.web.views.basecontrollers.ViewController object at 0x7f133802ae90> at /root/.virtualenvs/abreton/local/lib/python2.7/site-packages/cubicweb/web/views/basecontrollers.py:120
2019-06-12 16:26:59 - (cubicweb.pyramid.bwcompat) INFO: REQUEST [data] '/data/ea5eb3b6f89fba0ff4b671093c88d3dd/images/cartouche-mur.jpg' selected controller <cubicweb.web.views.staticcontrollers.DataController object at 0x7f1332a84d50> at /root/.virtualenvs/abreton/local/lib/python2.7/site-packages/cubicweb/web/views/staticcontrollers.py:179
The make debugging easier as this isn't done already. Most other web frameworks
do something similar for the developper to be able to understand what is
happening right now.
Closes #17219741
+ − /**
+ − * Sphinx Doc Design
+ − */
+ −
+ − html , body {
+ − background : white ;
+ − }
+ −
+ − body {
+ − font-family : Verdana , sans-serif ;
+ − font-size : 100 % ;
+ − background-color : white ;
+ − color : black ;
+ − margin : 0 ;
+ − padding : 0 ;
+ − }
+ −
+ − /* :::: LAYOUT :::: */
+ −
+ − div . logilablogo {
+ − padding : 10 px 10 px 10 px 10 px ;
+ − height : 75 ;
+ − }
+ −
+ −
+ − div . document {
+ − background-color : white ;
+ − }
+ −
+ − div . documentwrapper {
+ − float : left ;
+ − width : 100 % ;
+ − }
+ −
+ − div . bodywrapper {
+ − margin : 0 0 0 230 px ;
+ − }
+ −
+ − div . body {
+ − background-color : white ;
+ − padding : 0 20 px 30 px 20 px ;
+ − border-left : solid ;
+ − border-left-color : #e2e2e2 ;
+ − border-left-width : thin ;
+ − }
+ −
+ − div . sphinxsidebarwrapper {
+ − padding : 10 px 5 px 0 10 px ;
+ − }
+ −
+ − div . sphinxsidebar {
+ − float : left ;
+ − width : 230 px ;
+ − margin-left : -100 % ;
+ − font-size : 90 % ;
+ − }
+ −
+ − div . clearer {
+ − clear : both ;
+ − }
+ −
+ − div . footer {
+ − color : #ff4500 ;
+ − width : 100 % ;
+ − padding : 9 px 0 9 px 0 ;
+ − text-align : center ;
+ − font-size : 75 % ;
+ − }
+ −
+ − div . footer a {
+ − color : #ff4500 ;
+ − text-decoration : underline ;
+ − }
+ −
+ − div . related {
+ − background-color : #ff7700 ;
+ − color : white ;
+ − width : 100 % ;
+ − height : 30 px ;
+ − line-height : 30 px ;
+ − font-size : 90 % ;
+ − }
+ −
+ − div . related h3 {
+ − display : none ;
+ − }
+ −
+ − div . related ul {
+ − margin : 0 ;
+ − padding : 0 0 0 10 px ;
+ − list-style : none ;
+ − }
+ −
+ − div . related li {
+ − display : inline ;
+ − }
+ −
+ − div . related li . right {
+ − float : right ;
+ − margin-right : 5 px ;
+ − }
+ −
+ − div . related a {
+ − color : white ;
+ − font-weight : bold ;
+ − }
+ −
+ − /* ::: TOC :::: */
+ −
+ − div . sphinxsidebar {
+ − border-style : solid ;
+ − border-color : white ;
+ − /* background-color:#e2e2e2;*/
+ − padding-bottom : 5 px ;
+ − }
+ −
+ − div . sphinxsidebar h3 {
+ − font-family : Verdana , sans-serif ;
+ − color : black ;
+ − font-size : 1.2 em ;
+ − font-weight : normal ;
+ − margin : 0 ;
+ − padding : 0 ;
+ − font-weight : bold ;
+ − font-style : italic ;
+ − }
+ −
+ − div . sphinxsidebar h4 {
+ − font-family : Verdana , sans-serif ;
+ − color : black ;
+ − font-size : 1.1 em ;
+ − font-weight : normal ;
+ − margin : 5 px 0 0 0 ;
+ − padding : 0 ;
+ − font-weight : bold ;
+ − font-style : italic ;
+ − }
+ −
+ − div . sphinxsidebar p {
+ − color : black ;
+ − }
+ −
+ − div . sphinxsidebar p . topless {
+ − margin : 5 px 10 px 10 px 10 px ;
+ − }
+ −
+ − div . sphinxsidebar ul {
+ − margin : 10 px ;
+ − padding : 0 ;
+ − list-style : none ;
+ − color : black ;
+ − }
+ −
+ − div . sphinxsidebar ul ul ,
+ − div . sphinxsidebar ul . want-points {
+ − margin-left : 20 px ;
+ − list-style : square ;
+ − }
+ −
+ − div . sphinxsidebar ul ul {
+ − margin-top : 0 ;
+ − margin-bottom : 0 ;
+ − }
+ −
+ − div . sphinxsidebar a {
+ − color : black ;
+ − text-decoration : none ;
+ − }
+ −
+ − div . sphinxsidebar form {
+ − margin-top : 10 px ;
+ − }
+ −
+ − div . sphinxsidebar input {
+ − border : 1 px solid #e2e2e2 ;
+ − font-family : sans-serif ;
+ − font-size : 1 em ;
+ − padding-bottom : 5 px ;
+ − }
+ −
+ − /* :::: MODULE CLOUD :::: */
+ − div . modulecloud {
+ − margin : -5 px 10 px 5 px 10 px ;
+ − padding : 10 px ;
+ − line-height : 160 % ;
+ − border : 1 px solid #cbe7e5 ;
+ − background-color : #f2fbfd ;
+ − }
+ −
+ − div . modulecloud a {
+ − padding : 0 5 px 0 5 px ;
+ − }
+ −
+ − /* :::: SEARCH :::: */
+ − ul . search {
+ − margin : 10 px 0 0 20 px ;
+ − padding : 0 ;
+ − }
+ −
+ − ul . search li {
+ − padding : 5 px 0 5 px 20 px ;
+ − background-image : url ( file.png );
+ − background-repeat : no-repeat ;
+ − background-position : 0 7 px ;
+ − }
+ −
+ − ul . search li a {
+ − font-weight : bold ;
+ − }
+ −
+ − ul . search li div . context {
+ − color : #888 ;
+ − margin : 2 px 0 0 30 px ;
+ − text-align : left ;
+ − }
+ −
+ − ul . keywordmatches li . goodmatch a {
+ − font-weight : bold ;
+ − }
+ −
+ − /* :::: COMMON FORM STYLES :::: */
+ −
+ − div . actions {
+ − padding : 5 px 10 px 5 px 10 px ;
+ − border-top : 1 px solid #cbe7e5 ;
+ − border-bottom : 1 px solid #cbe7e5 ;
+ − background-color : #e0f6f4 ;
+ − }
+ −
+ − form dl {
+ − color : #333 ;
+ − }
+ −
+ − form dt {
+ − clear : both ;
+ − float : left ;
+ − min-width : 110 px ;
+ − margin-right : 10 px ;
+ − padding-top : 2 px ;
+ − }
+ −
+ − input # homepage {
+ − display : none ;
+ − }
+ −
+ − div . error {
+ − margin : 5 px 20 px 0 0 ;
+ − padding : 5 px ;
+ − border : 1 px solid #d00 ;
+ − font-weight : bold ;
+ − }
+ −
+ − /* :::: INLINE COMMENTS :::: */
+ −
+ − div . inlinecomments {
+ − position : absolute ;
+ − right : 20 px ;
+ − }
+ −
+ − div . inlinecomments a . bubble {
+ − display : block ;
+ − float : right ;
+ − background-image : url ( style/comment.png );
+ − background-repeat : no-repeat ;
+ − width : 25 px ;
+ − height : 25 px ;
+ − text-align : center ;
+ − padding-top : 3 px ;
+ − font-size : 0.9 em ;
+ − line-height : 14 px ;
+ − font-weight : bold ;
+ − color : black ;
+ − }
+ −
+ − div . inlinecomments a . bubble span {
+ − display : none ;
+ − }
+ −
+ − div . inlinecomments a . emptybubble {
+ − background-image : url ( style/nocomment.png );
+ − }
+ −
+ − div . inlinecomments a . bubble : hover {
+ − background-image : url ( style/hovercomment.png );
+ − text-decoration : none ;
+ − color : #3ca0a4 ;
+ − }
+ −
+ − div . inlinecomments div . comments {
+ − float : right ;
+ − margin : 25 px 5 px 0 0 ;
+ − max-width : 50 em ;
+ − min-width : 30 em ;
+ − border : 1 px solid #2eabb0 ;
+ − background-color : #f2fbfd ;
+ − z-index : 150 ;
+ − }
+ −
+ − div # comments {
+ − border : 1 px solid #2eabb0 ;
+ − margin-top : 20 px ;
+ − }
+ −
+ − div # comments div . nocomments {
+ − padding : 10 px ;
+ − font-weight : bold ;
+ − }
+ −
+ − div . inlinecomments div . comments h3 ,
+ − div # comments h3 {
+ − margin : 0 ;
+ − padding : 0 ;
+ − background-color : #2eabb0 ;
+ − color : white ;
+ − border : none ;
+ − padding : 3 px ;
+ − }
+ −
+ − div . inlinecomments div . comments div . actions {
+ − padding : 4 px ;
+ − margin : 0 ;
+ − border-top : none ;
+ − }
+ −
+ − div # comments div . comment {
+ − margin : 10 px ;
+ − border : 1 px solid #2eabb0 ;
+ − }
+ −
+ − div . inlinecomments div . comment h4 ,
+ − div . commentwindow div . comment h4 ,
+ − div # comments div . comment h4 {
+ − margin : 10 px 0 0 0 ;
+ − background-color : #2eabb0 ;
+ − color : white ;
+ − border : none ;
+ − padding : 1 px 4 px 1 px 4 px ;
+ − }
+ −
+ − div # comments div . comment h4 {
+ − margin : 0 ;
+ − }
+ −
+ − div # comments div . comment h4 a {
+ − color : #d5f4f4 ;
+ − }
+ −
+ − div . inlinecomments div . comment div . text ,
+ − div . commentwindow div . comment div . text ,
+ − div # comments div . comment div . text {
+ − margin : -5 px 0 -5 px 0 ;
+ − padding : 0 10 px 0 10 px ;
+ − }
+ −
+ − div . inlinecomments div . comment div . meta ,
+ − div . commentwindow div . comment div . meta ,
+ − div # comments div . comment div . meta {
+ − text-align : right ;
+ − padding : 2 px 10 px 2 px 0 ;
+ − font-size : 95 % ;
+ − color : #538893 ;
+ − border-top : 1 px solid #cbe7e5 ;
+ − background-color : #e0f6f4 ;
+ − }
+ −
+ − div . commentwindow {
+ − position : absolute ;
+ − width : 500 px ;
+ − border : 1 px solid #cbe7e5 ;
+ − background-color : #f2fbfd ;
+ − display : none ;
+ − z-index : 130 ;
+ − }
+ −
+ − div . commentwindow h3 {
+ − margin : 0 ;
+ − background-color : #2eabb0 ;
+ − color : white ;
+ − border : none ;
+ − padding : 5 px ;
+ − font-size : 1.5 em ;
+ − cursor : pointer ;
+ − }
+ −
+ − div . commentwindow div . actions {
+ − margin : 10 px -10 px 0 -10 px ;
+ − padding : 4 px 10 px 4 px 10 px ;
+ − color : #538893 ;
+ − }
+ −
+ − div . commentwindow div . actions input {
+ − border : 1 px solid #2eabb0 ;
+ − background-color : white ;
+ − color : #135355 ;
+ − cursor : pointer ;
+ − }
+ −
+ − div . commentwindow div . form {
+ − padding : 0 10 px 0 10 px ;
+ − }
+ −
+ − div . commentwindow div . form input ,
+ − div . commentwindow div . form textarea {
+ − border : 1 px solid #3c9ea2 ;
+ − background-color : white ;
+ − color : black ;
+ − }
+ −
+ − div . commentwindow div . error {
+ − margin : 10 px 5 px 10 px 5 px ;
+ − background-color : #fbe5dc ;
+ − display : none ;
+ − }
+ −
+ − div . commentwindow div . form textarea {
+ − width : 99 % ;
+ − }
+ −
+ − div . commentwindow div . preview {
+ − margin : 10 px 0 10 px 0 ;
+ − background-color : #70d0d4 ;
+ − padding : 0 1 px 1 px 25 px ;
+ − }
+ −
+ − div . commentwindow div . preview h4 {
+ − margin : 0 0 -5 px -20 px ;
+ − padding : 4 px 0 0 4 px ;
+ − color : white ;
+ − font-size : 1.3 em ;
+ − }
+ −
+ − div . commentwindow div . preview div . comment {
+ − background-color : #f2fbfd ;
+ − }
+ −
+ − div . commentwindow div . preview div . comment h4 {
+ − margin : 10 px 0 0 0 !important ;
+ − padding : 1 px 4 px 1 px 4 px !important ;
+ − font-size : 1.2 em ;
+ − }
+ −
+ − /* :::: SUGGEST CHANGES :::: */
+ − div # suggest-changes-box input , div # suggest-changes-box textarea {
+ − border : 1 px solid #ccc ;
+ − background-color : white ;
+ − color : black ;
+ − }
+ −
+ − div # suggest-changes-box textarea {
+ − width : 99 % ;
+ − height : 400 px ;
+ − }
+ −
+ −
+ − /* :::: PREVIEW :::: */
+ − div . preview {
+ − background-image : url ( style/preview.png );
+ − padding : 0 20 px 20 px 20 px ;
+ − margin-bottom : 30 px ;
+ − }
+ −
+ −
+ − /* :::: INDEX PAGE :::: */
+ −
+ − table . contentstable {
+ − width : 90 % ;
+ − }
+ −
+ − table . contentstable p . biglink {
+ − line-height : 150 % ;
+ − }
+ −
+ − a . biglink {
+ − font-size : 1.3 em ;
+ − }
+ −
+ − span . linkdescr {
+ − font-style : italic ;
+ − padding-top : 5 px ;
+ − font-size : 90 % ;
+ − }
+ −
+ − /* :::: INDEX STYLES :::: */
+ −
+ − table . indextable td {
+ − text-align : left ;
+ − vertical-align : top ;
+ − }
+ −
+ − table . indextable dl , table . indextable dd {
+ − margin-top : 0 ;
+ − margin-bottom : 0 ;
+ − }
+ −
+ − table . indextable tr . pcap {
+ − height : 10 px ;
+ − }
+ −
+ − table . indextable tr . cap {
+ − margin-top : 10 px ;
+ − background-color : #f2f2f2 ;
+ − }
+ −
+ − img . toggler {
+ − margin-right : 3 px ;
+ − margin-top : 3 px ;
+ − cursor : pointer ;
+ − }
+ −
+ − form . pfform {
+ − margin : 10 px 0 20 px 0 ;
+ − }
+ −
+ − /* :::: GLOBAL STYLES :::: */
+ −
+ − . docwarning {
+ − background-color : #ffe4e4 ;
+ − padding : 10 px ;
+ − margin : 0 -20 px 0 -20 px ;
+ − border-bottom : 1 px solid #f66 ;
+ − }
+ −
+ − p . subhead {
+ − font-weight : bold ;
+ − margin-top : 20 px ;
+ − }
+ −
+ − a {
+ − color : orangered ;
+ − text-decoration : none ;
+ − }
+ −
+ − a : hover {
+ − text-decoration : underline ;
+ − }
+ −
+ − div . body h1 ,
+ − div . body h2 ,
+ − div . body h3 ,
+ − div . body h4 ,
+ − div . body h5 ,
+ − div . body h6 {
+ − font-family : 'Verdana' , sans-serif ;
+ − background-color : white ;
+ − font-weight : bold ;
+ − color : black ;
+ − border-bottom : 1 px solid #ccc ;
+ − margin : 20 px -20 px 10 px -20 px ;
+ − padding : 3 px 0 3 px 10 px ;
+ − }
+ −
+ − div . body h1 { margin-top : 10 pt ; font-size : 150 % ; }
+ − div . body h2 { font-size : 120 % ; }
+ − div . body h3 { font-size : 100 % ; }
+ − div . body h4 { font-size : 80 % ; }
+ − div . body h5 { font-size : 600 % ; }
+ − div . body h6 { font-size : 40 % ; }
+ −
+ − a . headerlink {
+ − color : #c60f0f ;
+ − font-size : 0.8 em ;
+ − padding : 0 4 px 0 4 px ;
+ − text-decoration : none ;
+ − visibility : hidden ;
+ − }
+ −
+ − h1 : hover > a . headerlink ,
+ − h2 : hover > a . headerlink ,
+ − h3 : hover > a . headerlink ,
+ − h4 : hover > a . headerlink ,
+ − h5 : hover > a . headerlink ,
+ − h6 : hover > a . headerlink ,
+ − dt : hover > a . headerlink {
+ − visibility : visible ;
+ − }
+ −
+ − a . headerlink : hover {
+ − background-color : #c60f0f ;
+ − color : white ;
+ − }
+ −
+ − div . body p , div . body dd , div . body li {
+ − text-align : justify ;
+ − line-height : 130 % ;
+ − }
+ −
+ − div . body p . caption {
+ − text-align : inherit ;
+ − }
+ −
+ − div . body td {
+ − text-align : left ;
+ − }
+ −
+ − ul . fakelist {
+ − list-style : none ;
+ − margin : 10 px 0 10 px 20 px ;
+ − padding : 0 ;
+ − }
+ −
+ − . field-list ul {
+ − padding-left : 1 em ;
+ − }
+ −
+ − . first {
+ − margin-top : 0 !important ;
+ − }
+ −
+ − /* "Footnotes" heading */
+ − p . rubric {
+ − margin-top : 30 px ;
+ − font-weight : bold ;
+ − }
+ −
+ − /* "Topics" */
+ −
+ − div . topic {
+ − background-color : #eee ;
+ − border : 1 px solid #ccc ;
+ − padding : 0 7 px 0 7 px ;
+ − margin : 10 px 0 10 px 0 ;
+ − }
+ −
+ − p . topic-title {
+ − font-size : 1.1 em ;
+ − font-weight : bold ;
+ − margin-top : 10 px ;
+ − }
+ −
+ − /* Admonitions */
+ −
+ − div . admonition {
+ − margin-top : 10 px ;
+ − margin-bottom : 10 px ;
+ − padding : 7 px ;
+ − }
+ −
+ − div . admonition dt {
+ − font-weight : bold ;
+ − }
+ −
+ − div . admonition dl {
+ − margin-bottom : 0 ;
+ − }
+ −
+ − div . admonition p {
+ − display : inline ;
+ − }
+ −
+ − div . seealso {
+ − background-color : #ffc ;
+ − border : 1 px solid #ff6 ;
+ − }
+ −
+ − div . warning {
+ − background-color : #ffe4e4 ;
+ − border : 1 px solid #f66 ;
+ − }
+ −
+ − div . note {
+ − background-color : #eee ;
+ − border : 1 px solid #ccc ;
+ − }
+ −
+ − p . admonition-title {
+ − margin : 0 px 10 px 5 px 0 px ;
+ − font-weight : bold ;
+ − display : inline ;
+ − }
+ −
+ − p . admonition-title : after {
+ − content : ":" ;
+ − }
+ −
+ − div . body p . centered {
+ − text-align : center ;
+ − margin-top : 25 px ;
+ − }
+ −
+ − table . docutils {
+ − border : 0 ;
+ − }
+ −
+ − table . docutils td , table . docutils th {
+ − padding : 1 px 8 px 1 px 0 ;
+ − border-top : 0 ;
+ − border-left : 0 ;
+ − border-right : 0 ;
+ − border-bottom : 1 px solid #aaa ;
+ − }
+ −
+ − table . field-list td , table . field-list th {
+ − border : 0 !important ;
+ − }
+ −
+ − table . footnote td , table . footnote th {
+ − border : 0 !important ;
+ − }
+ −
+ − . field-list ul {
+ − margin : 0 ;
+ − padding-left : 1 em ;
+ − }
+ −
+ − . field-list p {
+ − margin : 0 ;
+ − }
+ −
+ − dl {
+ − margin-bottom : 15 px ;
+ − clear : both ;
+ − }
+ −
+ − dd p {
+ − margin-top : 0 px ;
+ − }
+ −
+ − dd ul , dd table {
+ − margin-bottom : 10 px ;
+ − }
+ −
+ − dd {
+ − margin-top : 3 px ;
+ − margin-bottom : 10 px ;
+ − margin-left : 30 px ;
+ − }
+ −
+ − . refcount {
+ − color : #060 ;
+ − }
+ −
+ − dt : target ,
+ − . highlight {
+ − background-color : #fbe54e ;
+ − }
+ −
+ − dl . glossary dt {
+ − font-weight : bold ;
+ − font-size : 1.1 em ;
+ − }
+ −
+ − th {
+ − text-align : left ;
+ − padding-right : 5 px ;
+ − }
+ −
+ − pre {
+ − padding : 5 px ;
+ − background-color : #efc ;
+ − color : #333 ;
+ − border : 1 px solid #ac9 ;
+ − border-left : none ;
+ − border-right : none ;
+ − overflow : auto ;
+ − }
+ −
+ − td . linenos pre {
+ − padding : 5 px 0 px ;
+ − border : 0 ;
+ − background-color : transparent ;
+ − color : #aaa ;
+ − }
+ −
+ − table . highlighttable {
+ − margin-left : 0.5 em ;
+ − }
+ −
+ − table . highlighttable td {
+ − padding : 0 0.5 em 0 0.5 em ;
+ − }
+ −
+ − tt {
+ − background-color : #ecf0f3 ;
+ − padding : 0 1 px 0 1 px ;
+ − font-size : 0.95 em ;
+ − }
+ −
+ − tt . descname {
+ − background-color : transparent ;
+ − font-weight : bold ;
+ − font-size : 1.2 em ;
+ − }
+ −
+ − tt . descclassname {
+ − background-color : transparent ;
+ − }
+ −
+ − tt . xref , a tt {
+ − background-color : transparent ;
+ − font-weight : bold ;
+ − }
+ −
+ − . footnote : target { background-color : #ffa }
+ −
+ − h1 tt , h2 tt , h3 tt , h4 tt , h5 tt , h6 tt {
+ − background-color : transparent ;
+ − }
+ −
+ − . optional {
+ − font-size : 1.3 em ;
+ − }
+ −
+ − . versionmodified {
+ − font-style : italic ;
+ − }
+ −
+ − form . comment {
+ − margin : 0 ;
+ − padding : 10 px 30 px 10 px 30 px ;
+ − background-color : #eee ;
+ − }
+ −
+ − form . comment h3 {
+ − background-color : #326591 ;
+ − color : white ;
+ − margin : -10 px -30 px 10 px -30 px ;
+ − padding : 5 px ;
+ − font-size : 1.4 em ;
+ − }
+ −
+ − form . comment input ,
+ − form . comment textarea {
+ − border : 1 px solid #ccc ;
+ − padding : 2 px ;
+ − font-family : sans-serif ;
+ − font-size : 100 % ;
+ − }
+ −
+ − form . comment input [ type = "text" ] {
+ − width : 240 px ;
+ − }
+ −
+ − form . comment textarea {
+ − width : 100 % ;
+ − height : 200 px ;
+ − margin-bottom : 10 px ;
+ − }
+ −
+ − . system-message {
+ − background-color : #fda ;
+ − padding : 5 px ;
+ − border : 3 px solid red ;
+ − }
+ −
+ − /* :::: PRINT :::: */
+ − @ media print {
+ − div . document ,
+ − div . documentwrapper ,
+ − div . bodywrapper {
+ − margin : 0 ;
+ − width : 100 % ;
+ − }
+ −
+ − div . sphinxsidebar ,
+ − div . related ,
+ − div . footer ,
+ − div # comments div . new-comment-box ,
+ − # top-link {
+ − display : none ;
+ − }
+ − }