##// END OF EJS Templates
configs: updated configs for VCSServer connectivty options
marcink -
r113:8a2ef1e2 default
parent child Browse files
Show More
@@ -1,592 +1,602 b''
1 1 ################################################################################
2 2 ################################################################################
3 3 # RhodeCode Enterprise - configuration file #
4 4 # Built-in functions and variables #
5 5 # The %(here)s variable will be replaced with the parent directory of this file#
6 6 # #
7 7 ################################################################################
8 8
9 9 [DEFAULT]
10 10 debug = true
11 11 pdebug = false
12 12 ################################################################################
13 13 ## Uncomment and replace with the email address which should receive ##
14 14 ## any error reports after an application crash ##
15 15 ## Additionally these settings will be used by the RhodeCode mailing system ##
16 16 ################################################################################
17 17 #email_to = admin@localhost
18 18 #error_email_from = paste_error@localhost
19 19 #app_email_from = rhodecode-noreply@localhost
20 20 #error_message =
21 21 #email_prefix = [RhodeCode]
22 22
23 23 #smtp_server = mail.server.com
24 24 #smtp_username =
25 25 #smtp_password =
26 26 #smtp_port =
27 27 #smtp_use_tls = false
28 28 #smtp_use_ssl = true
29 29 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
30 30 #smtp_auth =
31 31
32 32 [server:main]
33 33 ## COMMON ##
34 34 host = 127.0.0.1
35 35 port = 5000
36 36
37 37 ##########################
38 38 ## WAITRESS WSGI SERVER ##
39 39 ##########################
40 40 use = egg:waitress#main
41 41 ## number of worker threads
42 42 threads = 5
43 43 ## MAX BODY SIZE 100GB
44 44 max_request_body_size = 107374182400
45 45 ## Use poll instead of select, fixes file descriptors limits problems.
46 46 ## May not work on old windows systems.
47 47 asyncore_use_poll = true
48 48
49 49
50 50 ##########################
51 51 ## GUNICORN WSGI SERVER ##
52 52 ##########################
53 53 ## run with gunicorn --log-config <inifile.ini> --paste <inifile.ini>
54 54 #use = egg:gunicorn#main
55 55 ## Sets the number of process workers. You must set `instance_id = *`
56 56 ## when this option is set to more than one worker, recommended
57 57 ## value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers
58 58 ## The `instance_id = *` must be set in the [app:main] section below
59 59 #workers = 1
60 60 ## number of threads for each of the worker, must be set to 1 for gevent
61 61 ## generally recommened to be at 1
62 62 #threads = 1
63 63 ## process name
64 64 #proc_name = rhodecode
65 65 ## type of worker class, one of sync, gevent
66 66 ## recommended for bigger setup is using of of other than sync one
67 67 #worker_class = sync
68 68 ## The maximum number of simultaneous clients. Valid only for Gevent
69 69 #worker_connections = 10
70 70 ## max number of requests that worker will handle before being gracefully
71 71 ## restarted, could prevent memory leaks
72 72 #max_requests = 1000
73 73 #max_requests_jitter = 30
74 74 ## ammount of time a worker can spend with handling a request before it
75 75 ## gets killed and restarted. Set to 6hrs
76 76 #timeout = 21600
77 77
78 78
79 79 ## prefix middleware for RhodeCode, disables force_https flag.
80 80 ## allows to set RhodeCode under a prefix in server.
81 81 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
82 82 #[filter:proxy-prefix]
83 83 #use = egg:PasteDeploy#prefix
84 84 #prefix = /<your-prefix>
85 85
86 86 [app:main]
87 87 use = egg:rhodecode-enterprise-ce
88 88 ## enable proxy prefix middleware, defined below
89 89 #filter-with = proxy-prefix
90 90
91 91 # During development the we want to have the debug toolbar enabled
92 92 pyramid.includes =
93 93 pyramid_debugtoolbar
94 94 rhodecode.utils.debugtoolbar
95 95 rhodecode.lib.middleware.request_wrapper
96 96
97 97 pyramid.reload_templates = true
98 98
99 99 debugtoolbar.hosts = 0.0.0.0/0
100 100 debugtoolbar.exclude_prefixes =
101 101 /css
102 102 /fonts
103 103 /images
104 104 /js
105 105
106 106 ## RHODECODE PLUGINS ##
107 107 rhodecode.includes =
108 108 rhodecode.api
109 109
110 110
111 111 # api prefix url
112 112 rhodecode.api.url = /_admin/api
113 113
114 114
115 115 ## END RHODECODE PLUGINS ##
116 116
117 117 full_stack = true
118 118
119 119 ## Serve static files via RhodeCode, disable to serve them via HTTP server
120 120 static_files = true
121 121
122 122 ## Optional Languages
123 123 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
124 124 lang = en
125 125
126 126 ## perform a full repository scan on each server start, this should be
127 127 ## set to false after first startup, to allow faster server restarts.
128 128 startup.import_repos = false
129 129
130 130 ## Uncomment and set this path to use archive download cache.
131 131 ## Once enabled, generated archives will be cached at this location
132 132 ## and served from the cache during subsequent requests for the same archive of
133 133 ## the repository.
134 134 #archive_cache_dir = /tmp/tarballcache
135 135
136 136 ## change this to unique ID for security
137 137 app_instance_uuid = rc-production
138 138
139 139 ## cut off limit for large diffs (size in bytes)
140 140 cut_off_limit_diff = 1024000
141 141 cut_off_limit_file = 256000
142 142
143 143 ## use cache version of scm repo everywhere
144 144 vcs_full_cache = true
145 145
146 146 ## force https in RhodeCode, fixes https redirects, assumes it's always https
147 147 ## Normally this is controlled by proper http flags sent from http server
148 148 force_https = false
149 149
150 150 ## use Strict-Transport-Security headers
151 151 use_htsts = false
152 152
153 153 ## number of commits stats will parse on each iteration
154 154 commit_parse_limit = 25
155 155
156 156 ## git rev filter option, --all is the default filter, if you need to
157 157 ## hide all refs in changelog switch this to --branches --tags
158 158 git_rev_filter = --branches --tags
159 159
160 160 # Set to true if your repos are exposed using the dumb protocol
161 161 git_update_server_info = false
162 162
163 163 ## RSS/ATOM feed options
164 164 rss_cut_off_limit = 256000
165 165 rss_items_per_page = 10
166 166 rss_include_diff = false
167 167
168 168 ## gist URL alias, used to create nicer urls for gist. This should be an
169 169 ## url that does rewrites to _admin/gists/<gistid>.
170 170 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
171 171 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
172 172 gist_alias_url =
173 173
174 174 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
175 175 ## used for access.
176 176 ## Adding ?auth_token = <token> to the url authenticates this request as if it
177 177 ## came from the the logged in user who own this authentication token.
178 178 ##
179 179 ## Syntax is <ControllerClass>:<function_pattern>.
180 180 ## To enable access to raw_files put `FilesController:raw`.
181 181 ## To enable access to patches add `ChangesetController:changeset_patch`.
182 182 ## The list should be "," separated and on a single line.
183 183 ##
184 184 ## Recommended controllers to enable:
185 185 # ChangesetController:changeset_patch,
186 186 # ChangesetController:changeset_raw,
187 187 # FilesController:raw,
188 188 # FilesController:archivefile,
189 189 # GistsController:*,
190 190 api_access_controllers_whitelist =
191 191
192 192 ## default encoding used to convert from and to unicode
193 193 ## can be also a comma separated list of encoding in case of mixed encodings
194 194 default_encoding = UTF-8
195 195
196 196 ## instance-id prefix
197 197 ## a prefix key for this instance used for cache invalidation when running
198 198 ## multiple instances of rhodecode, make sure it's globally unique for
199 199 ## all running rhodecode instances. Leave empty if you don't use it
200 200 instance_id =
201 201
202 202 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
203 203 ## of an authentication plugin also if it is disabled by it's settings.
204 204 ## This could be useful if you are unable to log in to the system due to broken
205 205 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
206 206 ## module to log in again and fix the settings.
207 207 ##
208 208 ## Available builtin plugin IDs (hash is part of the ID):
209 209 ## egg:rhodecode-enterprise-ce#rhodecode
210 210 ## egg:rhodecode-enterprise-ce#pam
211 211 ## egg:rhodecode-enterprise-ce#ldap
212 212 ## egg:rhodecode-enterprise-ce#jasig_cas
213 213 ## egg:rhodecode-enterprise-ce#headers
214 214 ## egg:rhodecode-enterprise-ce#crowd
215 215 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
216 216
217 217 ## alternative return HTTP header for failed authentication. Default HTTP
218 218 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
219 219 ## handling that causing a series of failed authentication calls.
220 220 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
221 221 ## This will be served instead of default 401 on bad authnetication
222 222 auth_ret_code =
223 223
224 224 ## use special detection method when serving auth_ret_code, instead of serving
225 225 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
226 226 ## and then serve auth_ret_code to clients
227 227 auth_ret_code_detection = false
228 228
229 229 ## locking return code. When repository is locked return this HTTP code. 2XX
230 230 ## codes don't break the transactions while 4XX codes do
231 231 lock_ret_code = 423
232 232
233 233 ## allows to change the repository location in settings page
234 234 allow_repo_location_change = true
235 235
236 236 ## allows to setup custom hooks in settings page
237 237 allow_custom_hooks_settings = true
238 238
239 239 ## generated license token, goto license page in RhodeCode settings to obtain
240 240 ## new token
241 241 license_token =
242 242
243 243 ## supervisor connection uri, for managing supervisor and logs.
244 244 supervisor.uri =
245 245 ## supervisord group name/id we only want this RC instance to handle
246 246 supervisor.group_id = dev
247 247
248 248 ## Display extended labs settings
249 249 labs_settings_active = true
250 250
251 251 ####################################
252 252 ### CELERY CONFIG ####
253 253 ####################################
254 254 use_celery = false
255 255 broker.host = localhost
256 256 broker.vhost = rabbitmqhost
257 257 broker.port = 5672
258 258 broker.user = rabbitmq
259 259 broker.password = qweqwe
260 260
261 261 celery.imports = rhodecode.lib.celerylib.tasks
262 262
263 263 celery.result.backend = amqp
264 264 celery.result.dburi = amqp://
265 265 celery.result.serialier = json
266 266
267 267 #celery.send.task.error.emails = true
268 268 #celery.amqp.task.result.expires = 18000
269 269
270 270 celeryd.concurrency = 2
271 271 #celeryd.log.file = celeryd.log
272 272 celeryd.log.level = debug
273 273 celeryd.max.tasks.per.child = 1
274 274
275 275 ## tasks will never be sent to the queue, but executed locally instead.
276 276 celery.always.eager = false
277 277
278 278 ####################################
279 279 ### BEAKER CACHE ####
280 280 ####################################
281 281 # default cache dir for templates. Putting this into a ramdisk
282 282 ## can boost performance, eg. %(here)s/data_ramdisk
283 283 cache_dir = %(here)s/data
284 284
285 285 ## locking and default file storage for Beaker. Putting this into a ramdisk
286 286 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
287 287 beaker.cache.data_dir = %(here)s/data/cache/beaker_data
288 288 beaker.cache.lock_dir = %(here)s/data/cache/beaker_lock
289 289
290 290 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
291 291
292 292 beaker.cache.super_short_term.type = memory
293 293 beaker.cache.super_short_term.expire = 10
294 294 beaker.cache.super_short_term.key_length = 256
295 295
296 296 beaker.cache.short_term.type = memory
297 297 beaker.cache.short_term.expire = 60
298 298 beaker.cache.short_term.key_length = 256
299 299
300 300 beaker.cache.long_term.type = memory
301 301 beaker.cache.long_term.expire = 36000
302 302 beaker.cache.long_term.key_length = 256
303 303
304 304 beaker.cache.sql_cache_short.type = memory
305 305 beaker.cache.sql_cache_short.expire = 10
306 306 beaker.cache.sql_cache_short.key_length = 256
307 307
308 308 # default is memory cache, configure only if required
309 309 # using multi-node or multi-worker setup
310 310 #beaker.cache.auth_plugins.type = ext:database
311 311 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
312 312 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
313 313 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
314 314 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
315 315 #beaker.cache.auth_plugins.sa.pool_size = 10
316 316 #beaker.cache.auth_plugins.sa.max_overflow = 0
317 317
318 318 beaker.cache.repo_cache_long.type = memorylru_base
319 319 beaker.cache.repo_cache_long.max_items = 4096
320 320 beaker.cache.repo_cache_long.expire = 2592000
321 321
322 322 # default is memorylru_base cache, configure only if required
323 323 # using multi-node or multi-worker setup
324 324 #beaker.cache.repo_cache_long.type = ext:memcached
325 325 #beaker.cache.repo_cache_long.url = localhost:11211
326 326 #beaker.cache.repo_cache_long.expire = 1209600
327 327 #beaker.cache.repo_cache_long.key_length = 256
328 328
329 329 ####################################
330 330 ### BEAKER SESSION ####
331 331 ####################################
332 332
333 333 ## .session.type is type of storage options for the session, current allowed
334 334 ## types are file, ext:memcached, ext:database, and memory (default).
335 335 beaker.session.type = file
336 336 beaker.session.data_dir = %(here)s/data/sessions/data
337 337
338 338 ## db based session, fast, and allows easy management over logged in users ##
339 339 #beaker.session.type = ext:database
340 340 #beaker.session.table_name = db_session
341 341 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
342 342 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
343 343 #beaker.session.sa.pool_recycle = 3600
344 344 #beaker.session.sa.echo = false
345 345
346 346 beaker.session.key = rhodecode
347 347 beaker.session.secret = develop-rc-uytcxaz
348 348 beaker.session.lock_dir = %(here)s/data/sessions/lock
349 349
350 350 ## Secure encrypted cookie. Requires AES and AES python libraries
351 351 ## you must disable beaker.session.secret to use this
352 352 #beaker.session.encrypt_key = <key_for_encryption>
353 353 #beaker.session.validate_key = <validation_key>
354 354
355 355 ## sets session as invalid(also logging out user) if it haven not been
356 356 ## accessed for given amount of time in seconds
357 357 beaker.session.timeout = 2592000
358 358 beaker.session.httponly = true
359 359 #beaker.session.cookie_path = /<your-prefix>
360 360
361 361 ## uncomment for https secure cookie
362 362 beaker.session.secure = false
363 363
364 364 ## auto save the session to not to use .save()
365 365 beaker.session.auto = false
366 366
367 367 ## default cookie expiration time in seconds, set to `true` to set expire
368 368 ## at browser close
369 369 #beaker.session.cookie_expires = 3600
370 370
371 371 ###################################
372 372 ## SEARCH INDEXING CONFIGURATION ##
373 373 ###################################
374 374
375 375 search.module = rhodecode.lib.index.whoosh
376 376 search.location = %(here)s/data/index
377 377
378 378 ###################################
379 379 ## ERROR AND LOG HANDLING SYSTEM ##
380 380 ###################################
381 381
382 382 ## Appenlight is tailored to work with RhodeCode, see
383 383 ## http://appenlight.com for details how to obtain an account
384 384
385 385 ## appenlight integration enabled
386 386 appenlight = false
387 387
388 388 appenlight.server_url = https://api.appenlight.com
389 389 appenlight.api_key = YOUR_API_KEY
390 390 #appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
391 391
392 392 # used for JS client
393 393 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
394 394
395 395 ## TWEAK AMOUNT OF INFO SENT HERE
396 396
397 397 ## enables 404 error logging (default False)
398 398 appenlight.report_404 = false
399 399
400 400 ## time in seconds after request is considered being slow (default 1)
401 401 appenlight.slow_request_time = 1
402 402
403 403 ## record slow requests in application
404 404 ## (needs to be enabled for slow datastore recording and time tracking)
405 405 appenlight.slow_requests = true
406 406
407 407 ## enable hooking to application loggers
408 408 appenlight.logging = true
409 409
410 410 ## minimum log level for log capture
411 411 appenlight.logging.level = WARNING
412 412
413 413 ## send logs only from erroneous/slow requests
414 414 ## (saves API quota for intensive logging)
415 415 appenlight.logging_on_error = false
416 416
417 417 ## list of additonal keywords that should be grabbed from environ object
418 418 ## can be string with comma separated list of words in lowercase
419 419 ## (by default client will always send following info:
420 420 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
421 421 ## start with HTTP* this list be extended with additional keywords here
422 422 appenlight.environ_keys_whitelist =
423 423
424 424 ## list of keywords that should be blanked from request object
425 425 ## can be string with comma separated list of words in lowercase
426 426 ## (by default client will always blank keys that contain following words
427 427 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
428 428 ## this list be extended with additional keywords set here
429 429 appenlight.request_keys_blacklist =
430 430
431 431 ## list of namespaces that should be ignores when gathering log entries
432 432 ## can be string with comma separated list of namespaces
433 433 ## (by default the client ignores own entries: appenlight_client.client)
434 434 appenlight.log_namespace_blacklist =
435 435
436 436
437 437 ################################################################################
438 438 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
439 439 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
440 440 ## execute malicious code after an exception is raised. ##
441 441 ################################################################################
442 442 #set debug = false
443 443
444 444
445 445 ##############
446 446 ## STYLING ##
447 447 ##############
448 448 debug_style = true
449 449
450 450 #########################################################
451 451 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
452 452 #########################################################
453 453 sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
454 454 #sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
455 455 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
456 456
457 457 # see sqlalchemy docs for other advanced settings
458 458
459 459 ## print the sql statements to output
460 460 sqlalchemy.db1.echo = false
461 461 ## recycle the connections after this ammount of seconds
462 462 sqlalchemy.db1.pool_recycle = 3600
463 463 sqlalchemy.db1.convert_unicode = true
464 464
465 465 ## the number of connections to keep open inside the connection pool.
466 466 ## 0 indicates no limit
467 467 #sqlalchemy.db1.pool_size = 5
468 468
469 469 ## the number of connections to allow in connection pool "overflow", that is
470 470 ## connections that can be opened above and beyond the pool_size setting,
471 471 ## which defaults to five.
472 472 #sqlalchemy.db1.max_overflow = 10
473 473
474 474
475 475 ##################
476 476 ### VCS CONFIG ###
477 477 ##################
478 478 vcs.server.enable = true
479 479 vcs.server = localhost:9900
480 # Available protocols: pyro4, http
481 vcs.server.protocol = pyro4
482 480
483 ## available backends are:
484 ## `rhodecode.lib.middleware.utils.scm_app_http` (Http based, recommended)
485 ## `vcsserver.scm_app` (EE only)
486 ## `pyro4`
481 ## Web server connectivity protocol, responsible for web based VCS operatations
482 ## Available protocols are:
483 ## `pyro4` - using pyro4 server
484 ## `http` - using http-rpc backend
485 #vcs.server.protocol = http
486
487 ## Push/Pull operations protocol, available options are:
488 ## `pyro4` - using pyro4 server
489 ## `rhodecode.lib.middleware.utils.scm_app_http` - Http based, recommended
490 ## `vcsserver.scm_app` - internal app (EE only)
487 491 #vcs.scm_app_implementation = rhodecode.lib.middleware.utils.scm_app_http
488 492
493 ## Push/Pull operations hooks protocol, available options are:
494 ## `pyro4` - using pyro4 server
495 ## `http` - using http-rpc backend
496 #vcs.hooks.protocol = http
497
489 498 vcs.server.log_level = debug
499 ## Start VCSServer with this instance as a subprocess, usefull for development
490 500 vcs.start_server = true
491 501 vcs.backends = hg, git, svn
492 502 vcs.connection_timeout = 3600
493 503 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
494 504 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible
495 505 #vcs.svn.compatible_version = pre-1.8-compatible
496 506
497 507 ################################
498 508 ### LOGGING CONFIGURATION ####
499 509 ################################
500 510 [loggers]
501 511 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates, whoosh_indexer
502 512
503 513 [handlers]
504 514 keys = console, console_sql
505 515
506 516 [formatters]
507 517 keys = generic, color_formatter, color_formatter_sql
508 518
509 519 #############
510 520 ## LOGGERS ##
511 521 #############
512 522 [logger_root]
513 523 level = NOTSET
514 524 handlers = console
515 525
516 526 [logger_routes]
517 527 level = DEBUG
518 528 handlers =
519 529 qualname = routes.middleware
520 530 ## "level = DEBUG" logs the route matched and routing variables.
521 531 propagate = 1
522 532
523 533 [logger_beaker]
524 534 level = DEBUG
525 535 handlers =
526 536 qualname = beaker.container
527 537 propagate = 1
528 538
529 539 [logger_pyro4]
530 540 level = DEBUG
531 541 handlers =
532 542 qualname = Pyro4
533 543 propagate = 1
534 544
535 545 [logger_templates]
536 546 level = INFO
537 547 handlers =
538 548 qualname = pylons.templating
539 549 propagate = 1
540 550
541 551 [logger_rhodecode]
542 552 level = DEBUG
543 553 handlers =
544 554 qualname = rhodecode
545 555 propagate = 1
546 556
547 557 [logger_sqlalchemy]
548 558 level = INFO
549 559 handlers = console_sql
550 560 qualname = sqlalchemy.engine
551 561 propagate = 0
552 562
553 563 [logger_whoosh_indexer]
554 564 level = DEBUG
555 565 handlers =
556 566 qualname = whoosh_indexer
557 567 propagate = 1
558 568
559 569 ##############
560 570 ## HANDLERS ##
561 571 ##############
562 572
563 573 [handler_console]
564 574 class = StreamHandler
565 575 args = (sys.stderr,)
566 576 level = DEBUG
567 577 formatter = color_formatter
568 578
569 579 [handler_console_sql]
570 580 class = StreamHandler
571 581 args = (sys.stderr,)
572 582 level = DEBUG
573 583 formatter = color_formatter_sql
574 584
575 585 ################
576 586 ## FORMATTERS ##
577 587 ################
578 588
579 589 [formatter_generic]
580 590 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
581 591 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
582 592 datefmt = %Y-%m-%d %H:%M:%S
583 593
584 594 [formatter_color_formatter]
585 595 class = rhodecode.lib.logging_formatter.ColorFormatter
586 596 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
587 597 datefmt = %Y-%m-%d %H:%M:%S
588 598
589 599 [formatter_color_formatter_sql]
590 600 class = rhodecode.lib.logging_formatter.ColorFormatterSql
591 601 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
592 602 datefmt = %Y-%m-%d %H:%M:%S
@@ -1,566 +1,576 b''
1 1 ################################################################################
2 2 ################################################################################
3 3 # RhodeCode Enterprise - configuration file #
4 4 # Built-in functions and variables #
5 5 # The %(here)s variable will be replaced with the parent directory of this file#
6 6 # #
7 7 ################################################################################
8 8
9 9 [DEFAULT]
10 10 debug = true
11 11 pdebug = false
12 12 ################################################################################
13 13 ## Uncomment and replace with the email address which should receive ##
14 14 ## any error reports after an application crash ##
15 15 ## Additionally these settings will be used by the RhodeCode mailing system ##
16 16 ################################################################################
17 17 #email_to = admin@localhost
18 18 #error_email_from = paste_error@localhost
19 19 #app_email_from = rhodecode-noreply@localhost
20 20 #error_message =
21 21 #email_prefix = [RhodeCode]
22 22
23 23 #smtp_server = mail.server.com
24 24 #smtp_username =
25 25 #smtp_password =
26 26 #smtp_port =
27 27 #smtp_use_tls = false
28 28 #smtp_use_ssl = true
29 29 ## Specify available auth parameters here (e.g. LOGIN PLAIN CRAM-MD5, etc.)
30 30 #smtp_auth =
31 31
32 32 [server:main]
33 33 ## COMMON ##
34 34 host = 127.0.0.1
35 35 port = 5000
36 36
37 37 ##########################
38 38 ## WAITRESS WSGI SERVER ##
39 39 ##########################
40 40 use = egg:waitress#main
41 41 ## number of worker threads
42 42 threads = 5
43 43 ## MAX BODY SIZE 100GB
44 44 max_request_body_size = 107374182400
45 45 ## Use poll instead of select, fixes file descriptors limits problems.
46 46 ## May not work on old windows systems.
47 47 asyncore_use_poll = true
48 48
49 49
50 50 ##########################
51 51 ## GUNICORN WSGI SERVER ##
52 52 ##########################
53 53 ## run with gunicorn --log-config <inifile.ini> --paste <inifile.ini>
54 54 #use = egg:gunicorn#main
55 55 ## Sets the number of process workers. You must set `instance_id = *`
56 56 ## when this option is set to more than one worker, recommended
57 57 ## value is (2 * NUMBER_OF_CPUS + 1), eg 2CPU = 5 workers
58 58 ## The `instance_id = *` must be set in the [app:main] section below
59 59 #workers = 1
60 60 ## number of threads for each of the worker, must be set to 1 for gevent
61 61 ## generally recommened to be at 1
62 62 #threads = 1
63 63 ## process name
64 64 #proc_name = rhodecode
65 65 ## type of worker class, one of sync, gevent
66 66 ## recommended for bigger setup is using of of other than sync one
67 67 #worker_class = sync
68 68 ## The maximum number of simultaneous clients. Valid only for Gevent
69 69 #worker_connections = 10
70 70 ## max number of requests that worker will handle before being gracefully
71 71 ## restarted, could prevent memory leaks
72 72 #max_requests = 1000
73 73 #max_requests_jitter = 30
74 74 ## ammount of time a worker can spend with handling a request before it
75 75 ## gets killed and restarted. Set to 6hrs
76 76 #timeout = 21600
77 77
78 78
79 79 ## prefix middleware for RhodeCode, disables force_https flag.
80 80 ## allows to set RhodeCode under a prefix in server.
81 81 ## eg https://server.com/<prefix>. Enable `filter-with =` option below as well.
82 82 #[filter:proxy-prefix]
83 83 #use = egg:PasteDeploy#prefix
84 84 #prefix = /<your-prefix>
85 85
86 86 [app:main]
87 87 use = egg:rhodecode-enterprise-ce
88 88 ## enable proxy prefix middleware, defined below
89 89 #filter-with = proxy-prefix
90 90
91 91 full_stack = true
92 92
93 93 ## Serve static files via RhodeCode, disable to serve them via HTTP server
94 94 static_files = true
95 95
96 96 ## Optional Languages
97 97 ## en(default), be, de, es, fr, it, ja, pl, pt, ru, zh
98 98 lang = en
99 99
100 100 ## perform a full repository scan on each server start, this should be
101 101 ## set to false after first startup, to allow faster server restarts.
102 102 startup.import_repos = false
103 103
104 104 ## Uncomment and set this path to use archive download cache.
105 105 ## Once enabled, generated archives will be cached at this location
106 106 ## and served from the cache during subsequent requests for the same archive of
107 107 ## the repository.
108 108 #archive_cache_dir = /tmp/tarballcache
109 109
110 110 ## change this to unique ID for security
111 111 app_instance_uuid = rc-production
112 112
113 113 ## cut off limit for large diffs (size in bytes)
114 114 cut_off_limit_diff = 1024000
115 115 cut_off_limit_file = 256000
116 116
117 117 ## use cache version of scm repo everywhere
118 118 vcs_full_cache = true
119 119
120 120 ## force https in RhodeCode, fixes https redirects, assumes it's always https
121 121 ## Normally this is controlled by proper http flags sent from http server
122 122 force_https = false
123 123
124 124 ## use Strict-Transport-Security headers
125 125 use_htsts = false
126 126
127 127 ## number of commits stats will parse on each iteration
128 128 commit_parse_limit = 25
129 129
130 130 ## git rev filter option, --all is the default filter, if you need to
131 131 ## hide all refs in changelog switch this to --branches --tags
132 132 git_rev_filter = --branches --tags
133 133
134 134 # Set to true if your repos are exposed using the dumb protocol
135 135 git_update_server_info = false
136 136
137 137 ## RSS/ATOM feed options
138 138 rss_cut_off_limit = 256000
139 139 rss_items_per_page = 10
140 140 rss_include_diff = false
141 141
142 142 ## gist URL alias, used to create nicer urls for gist. This should be an
143 143 ## url that does rewrites to _admin/gists/<gistid>.
144 144 ## example: http://gist.rhodecode.org/{gistid}. Empty means use the internal
145 145 ## RhodeCode url, ie. http[s]://rhodecode.server/_admin/gists/<gistid>
146 146 gist_alias_url =
147 147
148 148 ## List of controllers (using glob pattern syntax) that AUTH TOKENS could be
149 149 ## used for access.
150 150 ## Adding ?auth_token = <token> to the url authenticates this request as if it
151 151 ## came from the the logged in user who own this authentication token.
152 152 ##
153 153 ## Syntax is <ControllerClass>:<function_pattern>.
154 154 ## To enable access to raw_files put `FilesController:raw`.
155 155 ## To enable access to patches add `ChangesetController:changeset_patch`.
156 156 ## The list should be "," separated and on a single line.
157 157 ##
158 158 ## Recommended controllers to enable:
159 159 # ChangesetController:changeset_patch,
160 160 # ChangesetController:changeset_raw,
161 161 # FilesController:raw,
162 162 # FilesController:archivefile,
163 163 # GistsController:*,
164 164 api_access_controllers_whitelist =
165 165
166 166 ## default encoding used to convert from and to unicode
167 167 ## can be also a comma separated list of encoding in case of mixed encodings
168 168 default_encoding = UTF-8
169 169
170 170 ## instance-id prefix
171 171 ## a prefix key for this instance used for cache invalidation when running
172 172 ## multiple instances of rhodecode, make sure it's globally unique for
173 173 ## all running rhodecode instances. Leave empty if you don't use it
174 174 instance_id =
175 175
176 176 ## Fallback authentication plugin. Set this to a plugin ID to force the usage
177 177 ## of an authentication plugin also if it is disabled by it's settings.
178 178 ## This could be useful if you are unable to log in to the system due to broken
179 179 ## authentication settings. Then you can enable e.g. the internal rhodecode auth
180 180 ## module to log in again and fix the settings.
181 181 ##
182 182 ## Available builtin plugin IDs (hash is part of the ID):
183 183 ## egg:rhodecode-enterprise-ce#rhodecode
184 184 ## egg:rhodecode-enterprise-ce#pam
185 185 ## egg:rhodecode-enterprise-ce#ldap
186 186 ## egg:rhodecode-enterprise-ce#jasig_cas
187 187 ## egg:rhodecode-enterprise-ce#headers
188 188 ## egg:rhodecode-enterprise-ce#crowd
189 189 #rhodecode.auth_plugin_fallback = egg:rhodecode-enterprise-ce#rhodecode
190 190
191 191 ## alternative return HTTP header for failed authentication. Default HTTP
192 192 ## response is 401 HTTPUnauthorized. Currently HG clients have troubles with
193 193 ## handling that causing a series of failed authentication calls.
194 194 ## Set this variable to 403 to return HTTPForbidden, or any other HTTP code
195 195 ## This will be served instead of default 401 on bad authnetication
196 196 auth_ret_code =
197 197
198 198 ## use special detection method when serving auth_ret_code, instead of serving
199 199 ## ret_code directly, use 401 initially (Which triggers credentials prompt)
200 200 ## and then serve auth_ret_code to clients
201 201 auth_ret_code_detection = false
202 202
203 203 ## locking return code. When repository is locked return this HTTP code. 2XX
204 204 ## codes don't break the transactions while 4XX codes do
205 205 lock_ret_code = 423
206 206
207 207 ## allows to change the repository location in settings page
208 208 allow_repo_location_change = true
209 209
210 210 ## allows to setup custom hooks in settings page
211 211 allow_custom_hooks_settings = true
212 212
213 213 ## generated license token, goto license page in RhodeCode settings to obtain
214 214 ## new token
215 215 license_token =
216 216
217 217 ## supervisor connection uri, for managing supervisor and logs.
218 218 supervisor.uri =
219 219 ## supervisord group name/id we only want this RC instance to handle
220 220 supervisor.group_id = prod
221 221
222 222 ## Display extended labs settings
223 223 labs_settings_active = true
224 224
225 225 ####################################
226 226 ### CELERY CONFIG ####
227 227 ####################################
228 228 use_celery = false
229 229 broker.host = localhost
230 230 broker.vhost = rabbitmqhost
231 231 broker.port = 5672
232 232 broker.user = rabbitmq
233 233 broker.password = qweqwe
234 234
235 235 celery.imports = rhodecode.lib.celerylib.tasks
236 236
237 237 celery.result.backend = amqp
238 238 celery.result.dburi = amqp://
239 239 celery.result.serialier = json
240 240
241 241 #celery.send.task.error.emails = true
242 242 #celery.amqp.task.result.expires = 18000
243 243
244 244 celeryd.concurrency = 2
245 245 #celeryd.log.file = celeryd.log
246 246 celeryd.log.level = debug
247 247 celeryd.max.tasks.per.child = 1
248 248
249 249 ## tasks will never be sent to the queue, but executed locally instead.
250 250 celery.always.eager = false
251 251
252 252 ####################################
253 253 ### BEAKER CACHE ####
254 254 ####################################
255 255 # default cache dir for templates. Putting this into a ramdisk
256 256 ## can boost performance, eg. %(here)s/data_ramdisk
257 257 cache_dir = %(here)s/data
258 258
259 259 ## locking and default file storage for Beaker. Putting this into a ramdisk
260 260 ## can boost performance, eg. %(here)s/data_ramdisk/cache/beaker_data
261 261 beaker.cache.data_dir = %(here)s/data/cache/beaker_data
262 262 beaker.cache.lock_dir = %(here)s/data/cache/beaker_lock
263 263
264 264 beaker.cache.regions = super_short_term, short_term, long_term, sql_cache_short, auth_plugins, repo_cache_long
265 265
266 266 beaker.cache.super_short_term.type = memory
267 267 beaker.cache.super_short_term.expire = 10
268 268 beaker.cache.super_short_term.key_length = 256
269 269
270 270 beaker.cache.short_term.type = memory
271 271 beaker.cache.short_term.expire = 60
272 272 beaker.cache.short_term.key_length = 256
273 273
274 274 beaker.cache.long_term.type = memory
275 275 beaker.cache.long_term.expire = 36000
276 276 beaker.cache.long_term.key_length = 256
277 277
278 278 beaker.cache.sql_cache_short.type = memory
279 279 beaker.cache.sql_cache_short.expire = 10
280 280 beaker.cache.sql_cache_short.key_length = 256
281 281
282 282 # default is memory cache, configure only if required
283 283 # using multi-node or multi-worker setup
284 284 #beaker.cache.auth_plugins.type = ext:database
285 285 #beaker.cache.auth_plugins.lock_dir = %(here)s/data/cache/auth_plugin_lock
286 286 #beaker.cache.auth_plugins.url = postgresql://postgres:secret@localhost/rhodecode
287 287 #beaker.cache.auth_plugins.url = mysql://root:secret@127.0.0.1/rhodecode
288 288 #beaker.cache.auth_plugins.sa.pool_recycle = 3600
289 289 #beaker.cache.auth_plugins.sa.pool_size = 10
290 290 #beaker.cache.auth_plugins.sa.max_overflow = 0
291 291
292 292 beaker.cache.repo_cache_long.type = memorylru_base
293 293 beaker.cache.repo_cache_long.max_items = 4096
294 294 beaker.cache.repo_cache_long.expire = 2592000
295 295
296 296 # default is memorylru_base cache, configure only if required
297 297 # using multi-node or multi-worker setup
298 298 #beaker.cache.repo_cache_long.type = ext:memcached
299 299 #beaker.cache.repo_cache_long.url = localhost:11211
300 300 #beaker.cache.repo_cache_long.expire = 1209600
301 301 #beaker.cache.repo_cache_long.key_length = 256
302 302
303 303 ####################################
304 304 ### BEAKER SESSION ####
305 305 ####################################
306 306
307 307 ## .session.type is type of storage options for the session, current allowed
308 308 ## types are file, ext:memcached, ext:database, and memory(default).
309 309 beaker.session.type = file
310 310 beaker.session.data_dir = %(here)s/data/sessions/data
311 311
312 312 ## db based session, fast, and allows easy management over logged in users ##
313 313 #beaker.session.type = ext:database
314 314 #beaker.session.table_name = db_session
315 315 #beaker.session.sa.url = postgresql://postgres:secret@localhost/rhodecode
316 316 #beaker.session.sa.url = mysql://root:secret@127.0.0.1/rhodecode
317 317 #beaker.session.sa.pool_recycle = 3600
318 318 #beaker.session.sa.echo = false
319 319
320 320 beaker.session.key = rhodecode
321 321 beaker.session.secret = production-rc-uytcxaz
322 322 #beaker.session.lock_dir = %(here)s/data/sessions/lock
323 323
324 324 ## Secure encrypted cookie. Requires AES and AES python libraries
325 325 ## you must disable beaker.session.secret to use this
326 326 #beaker.session.encrypt_key = <key_for_encryption>
327 327 #beaker.session.validate_key = <validation_key>
328 328
329 329 ## sets session as invalid(also logging out user) if it haven not been
330 330 ## accessed for given amount of time in seconds
331 331 beaker.session.timeout = 2592000
332 332 beaker.session.httponly = true
333 333 #beaker.session.cookie_path = /<your-prefix>
334 334
335 335 ## uncomment for https secure cookie
336 336 beaker.session.secure = false
337 337
338 338 ## auto save the session to not to use .save()
339 339 beaker.session.auto = false
340 340
341 341 ## default cookie expiration time in seconds, set to `true` to set expire
342 342 ## at browser close
343 343 #beaker.session.cookie_expires = 3600
344 344
345 345 ###################################
346 346 ## SEARCH INDEXING CONFIGURATION ##
347 347 ###################################
348 348
349 349 search.module = rhodecode.lib.index.whoosh
350 350 search.location = %(here)s/data/index
351 351
352 352 ###################################
353 353 ## ERROR AND LOG HANDLING SYSTEM ##
354 354 ###################################
355 355
356 356 ## Appenlight is tailored to work with RhodeCode, see
357 357 ## http://appenlight.com for details how to obtain an account
358 358
359 359 ## appenlight integration enabled
360 360 appenlight = false
361 361
362 362 appenlight.server_url = https://api.appenlight.com
363 363 appenlight.api_key = YOUR_API_KEY
364 364 ;appenlight.transport_config = https://api.appenlight.com?threaded=1&timeout=5
365 365
366 366 # used for JS client
367 367 appenlight.api_public_key = YOUR_API_PUBLIC_KEY
368 368
369 369 ## TWEAK AMOUNT OF INFO SENT HERE
370 370
371 371 ## enables 404 error logging (default False)
372 372 appenlight.report_404 = false
373 373
374 374 ## time in seconds after request is considered being slow (default 1)
375 375 appenlight.slow_request_time = 1
376 376
377 377 ## record slow requests in application
378 378 ## (needs to be enabled for slow datastore recording and time tracking)
379 379 appenlight.slow_requests = true
380 380
381 381 ## enable hooking to application loggers
382 382 appenlight.logging = true
383 383
384 384 ## minimum log level for log capture
385 385 appenlight.logging.level = WARNING
386 386
387 387 ## send logs only from erroneous/slow requests
388 388 ## (saves API quota for intensive logging)
389 389 appenlight.logging_on_error = false
390 390
391 391 ## list of additonal keywords that should be grabbed from environ object
392 392 ## can be string with comma separated list of words in lowercase
393 393 ## (by default client will always send following info:
394 394 ## 'REMOTE_USER', 'REMOTE_ADDR', 'SERVER_NAME', 'CONTENT_TYPE' + all keys that
395 395 ## start with HTTP* this list be extended with additional keywords here
396 396 appenlight.environ_keys_whitelist =
397 397
398 398 ## list of keywords that should be blanked from request object
399 399 ## can be string with comma separated list of words in lowercase
400 400 ## (by default client will always blank keys that contain following words
401 401 ## 'password', 'passwd', 'pwd', 'auth_tkt', 'secret', 'csrf'
402 402 ## this list be extended with additional keywords set here
403 403 appenlight.request_keys_blacklist =
404 404
405 405 ## list of namespaces that should be ignores when gathering log entries
406 406 ## can be string with comma separated list of namespaces
407 407 ## (by default the client ignores own entries: appenlight_client.client)
408 408 appenlight.log_namespace_blacklist =
409 409
410 410
411 411 ################################################################################
412 412 ## WARNING: *THE LINE BELOW MUST BE UNCOMMENTED ON A PRODUCTION ENVIRONMENT* ##
413 413 ## Debug mode will enable the interactive debugging tool, allowing ANYONE to ##
414 414 ## execute malicious code after an exception is raised. ##
415 415 ################################################################################
416 416 set debug = false
417 417
418 418
419 419 ##############
420 420 ## STYLING ##
421 421 ##############
422 422 debug_style = false
423 423
424 424 #########################################################
425 425 ### DB CONFIGS - EACH DB WILL HAVE IT'S OWN CONFIG ###
426 426 #########################################################
427 427 #sqlalchemy.db1.url = sqlite:///%(here)s/rhodecode.db?timeout=30
428 428 sqlalchemy.db1.url = postgresql://postgres:qweqwe@localhost/rhodecode
429 429 #sqlalchemy.db1.url = mysql://root:qweqwe@localhost/rhodecode
430 430
431 431 # see sqlalchemy docs for other advanced settings
432 432
433 433 ## print the sql statements to output
434 434 sqlalchemy.db1.echo = false
435 435 ## recycle the connections after this ammount of seconds
436 436 sqlalchemy.db1.pool_recycle = 3600
437 437 sqlalchemy.db1.convert_unicode = true
438 438
439 439 ## the number of connections to keep open inside the connection pool.
440 440 ## 0 indicates no limit
441 441 #sqlalchemy.db1.pool_size = 5
442 442
443 443 ## the number of connections to allow in connection pool "overflow", that is
444 444 ## connections that can be opened above and beyond the pool_size setting,
445 445 ## which defaults to five.
446 446 #sqlalchemy.db1.max_overflow = 10
447 447
448 448
449 449 ##################
450 450 ### VCS CONFIG ###
451 451 ##################
452 452 vcs.server.enable = true
453 453 vcs.server = localhost:9900
454 # Available protocols: pyro4, http
455 vcs.server.protocol = pyro4
456 454
457 # available impl:
458 # vcsserver.scm_app (EE only, for testing),
459 # rhodecode.lib.middleware.utils.scm_app_http
460 # pyro4
455 ## Web server connectivity protocol, responsible for web based VCS operatations
456 ## Available protocols are:
457 ## `pyro4` - using pyro4 server
458 ## `http` - using http-rpc backend
459 #vcs.server.protocol = http
460
461 ## Push/Pull operations protocol, available options are:
462 ## `pyro4` - using pyro4 server
463 ## `rhodecode.lib.middleware.utils.scm_app_http` - Http based, recommended
464 ## `vcsserver.scm_app` - internal app (EE only)
461 465 #vcs.scm_app_implementation = rhodecode.lib.middleware.utils.scm_app_http
462 466
463 vcs.server.log_level = info
467 ## Push/Pull operations hooks protocol, available options are:
468 ## `pyro4` - using pyro4 server
469 ## `http` - using http-rpc backend
470 #vcs.hooks.protocol = http
471
472 vcs.server.log_level = debug
473 ## Start VCSServer with this instance as a subprocess, usefull for development
464 474 vcs.start_server = false
465 475 vcs.backends = hg, git, svn
466 476 vcs.connection_timeout = 3600
467 477 ## Compatibility version when creating SVN repositories. Defaults to newest version when commented out.
468 478 ## Available options are: pre-1.4-compatible, pre-1.5-compatible, pre-1.6-compatible, pre-1.8-compatible
469 479 #vcs.svn.compatible_version = pre-1.8-compatible
470 480
471 481 ################################
472 482 ### LOGGING CONFIGURATION ####
473 483 ################################
474 484 [loggers]
475 485 keys = root, routes, rhodecode, sqlalchemy, beaker, pyro4, templates, whoosh_indexer
476 486
477 487 [handlers]
478 488 keys = console, console_sql
479 489
480 490 [formatters]
481 491 keys = generic, color_formatter, color_formatter_sql
482 492
483 493 #############
484 494 ## LOGGERS ##
485 495 #############
486 496 [logger_root]
487 497 level = NOTSET
488 498 handlers = console
489 499
490 500 [logger_routes]
491 501 level = DEBUG
492 502 handlers =
493 503 qualname = routes.middleware
494 504 ## "level = DEBUG" logs the route matched and routing variables.
495 505 propagate = 1
496 506
497 507 [logger_beaker]
498 508 level = DEBUG
499 509 handlers =
500 510 qualname = beaker.container
501 511 propagate = 1
502 512
503 513 [logger_pyro4]
504 514 level = DEBUG
505 515 handlers =
506 516 qualname = Pyro4
507 517 propagate = 1
508 518
509 519 [logger_templates]
510 520 level = INFO
511 521 handlers =
512 522 qualname = pylons.templating
513 523 propagate = 1
514 524
515 525 [logger_rhodecode]
516 526 level = DEBUG
517 527 handlers =
518 528 qualname = rhodecode
519 529 propagate = 1
520 530
521 531 [logger_sqlalchemy]
522 532 level = INFO
523 533 handlers = console_sql
524 534 qualname = sqlalchemy.engine
525 535 propagate = 0
526 536
527 537 [logger_whoosh_indexer]
528 538 level = DEBUG
529 539 handlers =
530 540 qualname = whoosh_indexer
531 541 propagate = 1
532 542
533 543 ##############
534 544 ## HANDLERS ##
535 545 ##############
536 546
537 547 [handler_console]
538 548 class = StreamHandler
539 549 args = (sys.stderr,)
540 550 level = INFO
541 551 formatter = generic
542 552
543 553 [handler_console_sql]
544 554 class = StreamHandler
545 555 args = (sys.stderr,)
546 556 level = WARN
547 557 formatter = generic
548 558
549 559 ################
550 560 ## FORMATTERS ##
551 561 ################
552 562
553 563 [formatter_generic]
554 564 class = rhodecode.lib.logging_formatter.Pyro4AwareFormatter
555 565 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
556 566 datefmt = %Y-%m-%d %H:%M:%S
557 567
558 568 [formatter_color_formatter]
559 569 class = rhodecode.lib.logging_formatter.ColorFormatter
560 570 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
561 571 datefmt = %Y-%m-%d %H:%M:%S
562 572
563 573 [formatter_color_formatter_sql]
564 574 class = rhodecode.lib.logging_formatter.ColorFormatterSql
565 575 format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
566 576 datefmt = %Y-%m-%d %H:%M:%S
General Comments 0
You need to be logged in to leave comments. Login now