{
"name": "Test",
"$metadata": {
"varlog": "/var/log",
"tmplog": "/tmp/log"
},
"$services": {
"log": {
"package": "Venus/Path",
"argument": {
"$metadata": "tmplog"
}
},
"development_log": {
"package": "Venus/Path",
"extends": "log",
"builder": [
{
"method": "new",
"return": "self",
"inject": "list"
},
{
"method": "child",
"argument": "development.log",
"return": "result"
}
]
},
"production_log": {
"package": "Venus/Path",
"extends": "log",
"argument": {
"$metadata": "varlog"
},
"builder": [
{
"method": "new",
"return": "self",
"inject": "hash"
},
{
"method": "child",
"argument": "production.log",
"return": "result"
}
]
},
"staging_log": {
"package": "Venus/Path",
"extends": "log",
"builder": [
{
"method": "new",
"return": "self",
"inject": "hash"
},
{
"method": "child",
"argument": "staging.log",
"return": "result"
}
]
},
"testing_log": {
"package": "Venus::Path",
"builder": [
{
"method": "new",
"argument": {
"$service": "filetemp"
},
"return": "self"
},
{
"method": "child",
"argument": "testing.log",
"return": "result"
}
]
},
"filetemp": {
"package": "File/Temp",
"constructor": "newdir"
}
}
}